Frage

Ich bemühe mich, den BlueImP JQuery-Datei-Auploader mit IIS 7.5 auf Windows Server 2008 R2 auf MVC 3 zu bearbeiten. Ich benutze einen HTTPHandler, um den Upload zu verarbeiten, der aufgerufen wird. Aber der httphandler empfindet niemals eine Datei oder den HttpMethod "Post" oder "Put", immer "Optionen". Hat jemand eine Idee, was hier falsch geht?

Die einzige Nachricht, die ich auf den Fail-Callback vom Uploader bekomme, ist "Fehler".

Hier mein 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"}];
    }*/
}
);

Vielen Dank für jede Hilfe!

War es hilfreich?

Lösung

Okay, ein Code hinzuzufügen, hat den Trick gemacht:

Serverseitig:

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

Client-Seite:

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

Andere Tipps

Wenn Ihre Seite von domain1.com serviert wird und Sie versuchen, auf Domain2.com hochzuladen. Ihre HTTP -Postanforderung wird vorgespeichert.

Ihr Domain2.com sollte Domain1.com tatsächlich ermöglichen, eine Datei hochzuladen. Auf einem anderen Server gibt es einen unterschiedlichen Mechanismus, um dies zu tun.

Lesen Sie einfach, wie Sie "Access-Control-Allow-Origin" für Ihren Server festlegen, der in diesem Fall IIS ist.

Für Amazon S3 ist es ganz einfach, dass sie eine Richtlinie XML haben, die Sie dafür aktualisieren müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top