IE 11: Erreur lors de l'envoi de plusieurs parties du Formulaire de demande de Données: le Flux est terminé de façon inattendue
Je suis en train de télécharger des fichiers avec d'autres champs de formulaire à l'aide de jQuery, les appels AJAX.
C'est une fonction qui s'appelle l'URL sur le serveur:
function uploadDocument(rquestURL,formId,callback){
$.ajax({
type : 'POST',
url : rquestURL,
cache:false,
processData:false,
contentType:false,
data : new FormData($("#"+formId)[0])
}).done(function(response) {
callback(response);
});
}
Sur l'examen de l'outils de dev à partir de navigateurs, ce sont la demande contenu:
De IE11
-----------------------------7dfad39402e6
Content-Disposition: form-data; name="subject"
Test
-----------------------------7dfad39402e6
Content-Disposition: form-data; name="message"
Test test
-----------------------------7dfad39402e6
Content-Disposition: form-data; name="announcementAttachment"; filename=""
Content-Type: application/octet-stream
<Binary File Data Not Shown>
---------------------------7dfad39402e6
Chrome
------WebKitFormBoundaryp8rj3ArKDsbYw0BZ
Content-Disposition: form-data; name="subject"
Test
------WebKitFormBoundaryp8rj3ArKDsbYw0BZ
Content-Disposition: form-data; name="message"
Test test
------WebKitFormBoundaryp8rj3ArKDsbYw0BZ
Content-Disposition: form-data; name="announcementAttachment"; filename=""
Content-Type: application/octet-stream
------WebKitFormBoundaryp8rj3ArKDsbYw0BZ--
Sur le côté serveur, nous sommes l'analyse de la demande:
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
final FileItemFactory factory = new DiskFileItemFactory();
final ServletFileUpload fileUpload = new ServletFileUpload(factory);
if (ServletFileUpload.isMultipartContent(request)) {
//get the request content and iterate through
items = fileUpload.parseRequest(request);
}
Le code fonctionne très bien à partir de Chrome et de Firefox, mais jette le ci-dessous exception quand j'ai essayé de IE11.
javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: org.apache.commons.fileupload.FileUploadException: Stream ended unexpectedly
J'ai évoqué ces questions, mais en vain.
- Java - FormData dans IE jeter org.apache.commons.fileupload.MultipartStream$MalformedStreamException: le Flux est terminé de façon inattendue
- Graal Multipart Service de Flux est terminé de façon inattendue
Toutes les indications utiles sont appréciés. Merci.
Vous devez vous connecter pour publier un commentaire.
S'est avéré un étrange problème. C'est de cette façon qu'il est résolu.
Qu' " il. Travaillé comme une magie!
Plus d'infos ici.
J'ai eu le même problème. J'ai eu seulement l'attribut id et manque le nom de l'attribut dans le champ caché qui m'a donné l'erreur ci-dessous. Problème résolu après l'ajout de l'attribut name de l'input de type hidden champ.
id="timestamp" name="timestamp"
Causés par: org.apache.commons.fileupload.MultipartStream$MalformedStreamException: le Flux est terminé de façon inattendue
Causés par: org.apache.commons.fileupload.FileUploadException: le Flux est terminé de façon inattendue
Il m'est arrivé, le problème est qu'il y a lieu.recharger une fois que le document a été sélectionné pour le téléchargement. De cet arrêté du ruisseau, pour être analysé.