Maison >interface Web >js tutoriel >Comment résoudre l'erreur « limite multipart » dans les téléchargements de fichiers XMLHttpRequest ?

Comment résoudre l'erreur « limite multipart » dans les téléchargements de fichiers XMLHttpRequest ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-18 16:38:291050parcourir

How to Resolve the

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

  • L'objet FormData crée un objet de requête multipart/form-data qui peut être analysé sur le serveur à l'aide $_FILES['thefile'] de PHP.
  • Pour plus d'informations sur les téléchargements de fichiers XMLHttpRequest, reportez-vous aux démos Mozilla Hack et à la documentation MDC.

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!

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