Maison  >  Article  >  interface Web  >  Comment résoudre l'erreur « Demande rejetée : aucune limite multipartie » dans le téléchargement de fichiers XMLHttpRequest ?

Comment résoudre l'erreur « Demande rejetée : aucune limite multipartie » dans le téléchargement de fichiers XMLHttpRequest ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-18 16:42:30791parcourir

How to Resolve

Téléchargement de fichier XMLHttpRequest avec MultipartFormData

Lorsque vous essayez de télécharger un fichier à l'aide de XMLHttpRequest, vous pouvez rencontrer l'erreur suivante : "La demande a été rejetée car aucune limite en plusieurs parties n'a été trouvée." Pour résoudre ce problème, suivez ces étapes :

1. Supprimez la propriété xhr.file personnalisée

Supprimez la ligne xhr.file = file; car il n'est pas utilisé pour les téléchargements de fichiers en plusieurs parties.

2. Utilisez l'objet FormData

Au lieu de xhr.send(file);, utilisez FormData pour envelopper le fichier dans un objet de données de publication multipart/form-data :

<code class="javascript">var formData = new FormData();
formData.append("thefile", file);
xhr.send(formData);</code>

3. Accédez au fichier sur le serveur

Après avoir envoyé le FormData, vous pouvez accéder au fichier dans $_FILES['thefile'] (en supposant que PHP soit utilisé sur le serveur).

Remarques supplémentaires :

  • Utilisez les démos MDC et Mozilla Hack comme ressources pour le téléchargement de fichiers.
  • La tentative de code d'origine a envoyé le fichier sous forme de données de publication brutes, ce qui nécessite un manuel analyse sur le serveur (pas toujours réalisable).

En suivant ces étapes, vous devriez pouvoir télécharger avec succès des fichiers à l'aide d'Ajax XMLHttpRequest avec la limite correcte de données multipart/formulaire.

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