Domanda

Sto lottando a far funzionare il file-uploader BlueImp JQuery che lavora su MVC 3 con IIS 7.5 su Windows Server 2008 R2. Sto usando un httphandler per gestire il caricamento, che viene chiamato. Ma HttPhandler non riceve mai un file né il "post" o "put", sempre "Opzioni". Qualcuno ha un'idea di cosa va male qui?

L'unico messaggio che ricevo sul fallback dal caricatore è "errore".

Ecco il mio 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"}];
    }*/
}
);

Grazie mille per qualsiasi aiuto!

È stato utile?

Soluzione

Va bene l'aggiunta di un codice ha fatto il trucco:

Lato server:

        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "http://example.net");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Credentials", "true");

Dalla parte del cliente:

$('#fileupload').fileupload(
{
    xhrFields: {
        withCredentials: true
    }
}

Altri suggerimenti

Quando la pagina viene servita da Domain1.com e stai cercando di caricare su Domain2.com. La tua richiesta di post HTTP è prefligsata.

Il tuo domain2.com dovrebbe effettivamente consentire a Domain1.com di caricare un file. Su server diverso esiste un meccanismo diverso per farlo.

Basta leggere come impostare "Access-Control-Nature-Origin" per il tuo server che è IIS in questo caso.

Per Amazon S3, è abbastanza semplice che abbiano una politica XML che devi aggiornare per questo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top