Blueimp jQuery File Upload et HttpHandler: Aucun fichier et toujours « OPTIONS » HttpMethod
-
27-10-2019 - |
Question
Je struggeling obtenir le fichier-Uploader travail jQuery Blueimp sur MVC 3 avec IIS 7.5 sur Windows Server 2008 R2. J'utilise un HttpHandler pour gérer le chargement, qui se est appelée. Mais le HttpHandler ne reçoit un fichier ni le HttpMethod « POST » ou « PUT », toujours « OPTIONS ». Quelqu'un at-il une idée de ce qui ne va pas ici gouing?
Le seul message que je reçois sur le rappel de l'échec Uploader est la « erreur ».
Voici mes JS:
$('#fileupload').fileupload(
{
acceptFileTypes: /(\.|\/)(pdf)$/i,
fail: function (e, data) {
alert("Error: " + data.errorThrown + " Text-Status: " + data.textStatus);
// data.jqXHR;
},
maxNumberOfFiles: 1
/*add: function (e, data) {
data.formData = [{ name: "name1", value: "1" }, { name: "name2", value: "2"}];
data.submit();
},
submit: function (e, data) {
//data.formData = [{ name: "name1", value: "1" }, { name: "name2", value: "2"}];
}*/
}
);
Merci beaucoup pour toute aide!
La solution
Bon ajoutant du code a fait l'affaire:
côté serveur:
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://example.net");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Credentials", "true");
côté client:
$('#fileupload').fileupload(
{
xhrFields: {
withCredentials: true
}
}
Autres conseils
Lorsque vous page est servi de domain1.com et vous essayez de télécharger à domain2.com. votre HTTP demande après contrôle en amont.
votre domain2.com devrait effectivement permettre domain1.com de télécharger un fichier. sur un serveur différent, il y a mécanisme différent de le faire.
Il suffit de lire sur la façon de définir « Access-Control-Allow-Origin » pour votre serveur IIS qui est dans ce cas.
pour Amazon S3, son tout à fait simple, ils ont un xml politique que vous devez mettre à jour pour cela.