jQuery File Upload ne pas envoyer un fichier dans IE9
J'ai ce problème seulement dans IE < 10. Mes sources:
$("input:file#upload-photo").fileupload({
enctype: "multipart/form-data",
url: $("input:file#upload-photo").attr("url"),
autoUpload: true,
send: function() {
spinner.spin(target);
},
done: function (e, data) {
spinner.spin(false);
var errors = data.result.Errors;
if (errors != null && errors.length > 0) {
for (var i = 0; i < errors.length; i++) {
var ul = $("<ul>").html("<li>" + errors[i] + "</li>");
$('#upload_photo_errors').html(ul);
}
} else {
$(".profile-photo").attr("src", data.result.Data.AvatarUrl);
}
},
error: function() {
spinner.spin(false);
}
});
"Envoyer" gestionnaire est appelé et les "erreur" gestionnaire est trop.
J'ai pris ma demande dans un violon. Il n'a pas de Type de Contenu et toutes les données:
POST http://172.20.40.45/site/api/Users/Avatar HTTP/1.1
X-Requested-With: XMLHttpRequest
Accept: */*
Referer: http://172.20.40.45/site/Profile/Edit
Accept-Language: ru
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Host: 172.20.40.45
Content-Length: 0
DNT: 1
Connection: Keep-Alive
Pragma: no-cache
Cookie: ...
J'ai essayé de vérifier le téléchargement proccess sur le http://blueimp.github.io/jQuery-File-Upload/. Il fonctionne très bien dans IE9. Pourquoi il ne fonctionne pas dans mon cas?
caniuse.com/fileapi cochez cette
ce n'est pas une bonne solution pour moi. Nous soutenons ie 9 dans notre projet.
jQuery File Upload prend en charge ie 6.0+ github.com/blueimp/jQuery-File-Upload/wiki/Browser-support
ce n'est pas une bonne solution pour moi. Nous soutenons ie 9 dans notre projet.
jQuery File Upload prend en charge ie 6.0+ github.com/blueimp/jQuery-File-Upload/wiki/Browser-support
OriginalL'auteur Neshta | 2014-06-04
Vous devez vous connecter pour publier un commentaire.
J'ai résolu ce problème.
Au début, j'ai résolu le problème avec multipart/form-data de la charge utile. IE9 ne prend pas en charge XHR de téléchargement de fichiers. Donc j'ai ajouté le script suivant:
Aussi j'ai ajouté un autre script spécialement pour IE9:
Maintenant, le navigateur télécharge le fichier. Mais j'ai fait face à un autre problème. Cette fois, j'ai eu problème. J'utilise l'API Web et j'ai trouvé cette solution qui m'a aidé.
Mais maintenant, le "erreur" gestionnaire est appelé à la place de "terminé". Pour résoudre ce problème, nous devons définir le type de données à 'json'. La version finale ressemble tellement:
OriginalL'auteur Neshta
Le problème pour moi est que IE9 ne pas envoyer le fichier si vous déclenchez le fichier d'entrée par le biais de JS, l'utilisateur doit cliquer sur le bouton parcourir pour que ça marche.
Non pas que je suis au courant, j'ai dû modifier le script afin que l'utilisateur clique sur le bouton parcourir.
Oui, ressemble à déclenchement par JS n'est pas une option. Cependant, à l'aide d'une étiquette et le réglage de la droite "pour" attribut résolu pour mes besoins.
OriginalL'auteur Functional Rocking