6

Windows Server 2008 R2 上の IIS 7.5 を使用して MVC 3 で Blueimp jQuery File-Uploader を動作させるのに苦労しています。私は HttpHandler を使用して、呼び出されたアップロードを処理しています。しかし、HttpHandler はファイルも HttpMethod "POST" または "PUT" も、常に "OPTIONS" を受け取ることはありません。ここで何が間違っているのか誰にも分かりますか?

アップローダからの失敗コールバックで得られる唯一のメッセージは「エラー」です。

ここに私の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"}];
    }*/
}
);

助けてくれてありがとう!

4

2 に答える 2

4

さて、いくつかのコードを追加すると、うまくいきました:

サーバ側:

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

クライアント側:

$('#fileupload').fileupload(
{
    xhrFields: {
        withCredentials: true
    }
}
于 2012-02-20T16:33:48.273 に答える
0

ページが domain1.com から提供され、domain2.com にアップロードしようとしている場合。HTTP ポスト リクエストはプリフライトされます。

domain2.com は、実際には domain1.com がファイルをアップロードできるようにする必要があります。異なるサーバーでは、それを行うための異なるメカニズムがあります。

この場合はIISであるサーバーに「Access-Control-Allow-Origin」を設定する方法について読んでください。

Amazon S3 の場合、非常に単純で、これを更新する必要があるポリシー xml があります。

于 2013-01-07T10:39:54.157 に答える