Téléchargement de fichiers avec Ajax XMLHttpRequest : Dépannage de l'erreur « Aucune limite multipart trouvée »
Lorsque vous essayez de télécharger un fichier à l'aide de XMLHttpRequest, vous pouvez rencontrez une erreur du type « La demande a été rejetée car aucune limite en plusieurs parties n'a été trouvée. » Ce problème survient lorsque le fichier n'est pas envoyé correctement en tant que requête multipart/form-data.
Une erreur courante consiste à joindre directement le fichier à l'objet XMLHttpRequest, comme indiqué dans le code :
xhr.file = file; // not necessary if you create scopes like this
Cette méthode est incorrecte. Au lieu de cela, le fichier doit être encapsulé dans un objet FormData, qui construit la charge utile appropriée de la requête multipart/form-data :
var formData = new FormData(); formData.append("thefile", file);
Une fois le fichier ajouté à l'objet FormData, vous pouvez utiliser xhr.send(formData); pour soumettre la demande. Le fichier sera accessible côté serveur dans $_FILES['thefile'] si vous utilisez PHP.
N'oubliez pas que vous pouvez consulter des ressources telles que les démos MDC et Mozilla Hack pour plus de conseils sur les téléchargements de fichiers avec Ajax XMLHttpRequest.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3