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!