"non multipart limite a été trouvé' exception alors que le téléchargement de fichiers à l'aide de jQuery Ajax
Voici mon jQuery Extrait de
$("#uploadForm").submit(function (e) {
$.ajax({
url: 'uploadExcel',
data: $('#uploadForm').serialize(),
cache: false,
contentType: 'multipart/form-data',
processData: false,
type: 'POST',
success: function (data) {
alert(data);
}
});
en téléchargeant le fichier j'obtiens l'erreur suivante
org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:931)
at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:349)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at com.obs.controller.ExcelUploadController.doPost(ExcelUploadController.java:36)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Quelle est la raison ? Comment peut-il être vaincu ?
OriginalL'auteur Abhishek Singh | 2013-12-16
Vous devez vous connecter pour publier un commentaire.
La raison que
XMLHttpRequest
1 ne prend pas en charge le téléchargement de fichiers, voir ce DONC, la question: jQuery Ajax Upload de Fichier. Vous obtenez le message d'erreur sur le serveur-côté parce que vous avez dit au serveur de s'attendre à un multipart-télécharger mais depuis pas de charge utile (= données) est envoyé avec elle, une erreur est renvoyée.Vous aurez besoin
FormData
deXMLHttpRequest
2 (Attention: Seulement IE10 et. Tous les autres navigateurs prennent déjà en charge. Voir Puis-Je Utiliser? pour le détail des informations de support).Il semble
FormData
peut être des émules dans les navigateurs plus anciens, si je havn'pas personnellement essayé.Avec
XMLHttpRequest 2
etFormData
, votre code devrait fonctionner comme ça:OriginalL'auteur Lasse
Pour moi, le problème était d'envelopper l'image sur le formulaire d'entrée/de-fichier. Je suis nouveau en javascript/Jquery, donc, c'était vraiment douloureux. Je sais que de mon côté serveur est ok parce que j'ai écrit un simple formulaire html et il a bien fonctionné. J'ai fait une nouvelle page avec javascript pour visualiser l'image et je l'ai eu
"non multipart limite a été trouvé' exception.
J'ai trouvé la réponse à cette ici dans StackOverflow, grâce à chandoo.
Essayez ceci:
si l'id du formulaire est "upload_form".
Bon coup d'oeil!
OriginalL'auteur André Luis