1

画像のアップロード中に Internet Explorer で問題が発生しました。

以下はコード jQuery/AJAX 投稿です。このコードは、IE を除く他のブラウザー (Mozilla/Chrome) で正常に動作します。

<input id="Upload" type="button" value="Upload" />
<input type="file" name="file" id="AdFile" style="display: none" />

$('#Upload').click(function () {
     $('input[id=AdFile]').click();
});

$('#AdFile').change(function () {
     uploadAd($("#AdFile")[0].files[0]);
});

function uploadAd(file) {
var formData = new FormData();
    formData.append('File', file);
    formData.append('ParentId', parentId);
    formData.append('FileType', fileType);
    $.ajax({
       type: "POST",
       url: "@Url.Action("UploadAd", "Ad")",
       data: formData,
       contentType: false,
       processData: false,
       success: function (data) {
         if (data.Success) {
           $('#AdList').append("<option value='" + data.Ad.AdId + "'>" + data.Ad.FileName + "</option>");
         }
       }
    }).fail(function (data) {
        //FAIL?
    }).done(function () {
    });
    return false;
 }

「FormData」は IE では動作しないと思います。同じものの代替手段は何ですか?

4

4 に答える 4

0

コンマ processData: false を削除し、確認してください。動作します。

于 2013-01-23T12:26:42.673 に答える
0

これを見て...

これを IE 用に変更します。

$('#AdFile').change(function () {
     uploadAd($("#AdFile")[0].files[0]);
})

為に:

$('#AdFile').change(function () {
     uploadAd($(this)[0]);
});

そして、この行

url: "@Url.Action("UploadAd", "Ad")",

為に:

url: "@Url.Action(" + UploadAd + ", " + Ad + ")",

そして、このjsFiddleの例を見てください

ご挨拶。

于 2013-01-23T13:04:08.590 に答える