Dépannage des téléchargements de fichiers XMLHttpRequest
Les téléchargements de fichiers avec XMLHttpRequest peuvent parfois rencontrer des erreurs, en particulier lorsqu'il s'agit de données en plusieurs parties. Voici une analyse détaillée d'un problème courant impliquant l'erreur « limite multipart ».
Le code fourni tente de télécharger un fichier à l'aide de XMLHttpRequest, mais il échoue avec l'erreur suivante :
The request was rejected because no multipart boundary was found.
Pièce jointe incorrecte
Le code initial inclut la ligne xhr.file = file;. Cependant, il ne s'agit pas d'une manière standard de joindre un fichier à un XMLHttpRequest. L'objet fichier doit être enveloppé dans un objet FormData.
Utilisation des données du formulaire
Pour résoudre ce problème, remplacez xhr.send(file); avec le code suivant :
var formData = new FormData(); formData.append("thefile", file); xhr.send(formData);
En-tête Multipart/Form-Data
Assurez-vous que l'en-tête Content-Type est défini sur "multipart/form-data" avant envoi de la requête :
xhr.setRequestHeader("Content-Type", "multipart/form-data");
Notes supplémentaires
En suivant ces étapes et en corrigeant les erreurs de code , vous pouvez télécharger avec succès des fichiers en utilisant XMLHttpRequest.
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!