Maison >développement back-end >tutoriel php >Comment réussir à télécharger des fichiers sur un serveur PHP à l'aide de Jakarta HttpClient ?

Comment réussir à télécharger des fichiers sur un serveur PHP à l'aide de Jakarta HttpClient ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-15 09:36:11618parcourir

How to Successfully Upload Files to a PHP Server Using Jakarta HttpClient?

Téléchargement de fichiers avec Jakarta HttpClient et PHP

Cet article présente une solution pour télécharger des fichiers sur un serveur Apache exécutant PHP à l'aide de la bibliothèque Java HttpClient de Jakarta version 4.0 beta2.

Initialement, le code Java fourni entraînait l'échec du script PHP pour détecter le fichier téléchargé. Le problème provenait d'une configuration incorrecte dans la classe Java, qui utilisait un objet FileEntity sans spécifier explicitement les paramètres en plusieurs parties.

Implémentation Java correcte :

Le code Java révisé intègre l'utilisation de MultipartEntity pour formater correctement la requête HTTP :

MultipartEntity mpEntity = new MultipartEntity();
ContentBody cbFile = new FileBody(file, "image/jpeg");
mpEntity.addPart("userfile", cbFile);
httppost.setEntity(mpEntity);

Cette configuration crée effectivement une requête HTTP POST en plusieurs parties avec un binaire pièce jointe, conforme aux exigences du script PHP.

Script PHP :

Le script PHP reste simple :

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
  echo "File ". $_FILES['userfile']['name'] ." uploaded successfully.\n";
  move_uploaded_file ($_FILES['userfile'] ['tmp_name'], $_FILES['userfile'] ['name']);
} else {
  echo "Possible file upload attack: ";
  echo "filename '". $_FILES['userfile']['tmp_name'] . "'.";
  print_r($_FILES);
}

Avec le bon Implémentation Java et script PHP, les téléchargements de fichiers devraient maintenant être traités avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn