Ajax文件上传 - 无法在IE中运行

时间:2015-11-23 21:21:43

标签: jquery ajax file-upload

我的网站上有一个ajax图片上传,不在IE中工作。我注意到的第一个问题是" FormData"在IE中未定义类型。我遇到了我在下面的ajax调用中使用的解决方法。但是,ajax调用仅在单击上载时返回错误函数,从不命中我的控制器操作" UpdateAvatar"。适用于所有其他浏览器。有没有人有这方面的经验?

<div class="modal-body">
    <input type="file" name="UploadFile" id="uploadfile">
</div>

<div class="modal-footer">
    <button type="button" class="btn btn-primary" data-dismiss="modal">Cancel</button>
    <button type="button" id="updateAvatarBtn" class="btn-success btn">Upload</button>
</div>

$('#updateAvatarBtn').click(function (event) {
    var file = $('#uploadfile').get(0).files;

    if (typeof FormData == "undefined") {
        var data = [];
        data.push('data', JSON.stringify(file));
    }
    else {
        var data = new FormData();
        data.append("file", file[0]);
    }
    $.ajax({
        url: 'AccountSetup/updateAvatar',
        type: 'POST',
        contentType: false,
        processData: false,
        data: data,
        success: function (response) {
            $('#imgPreview').attr("src", response);
            $('#uploadImageModal').modal('hide');
            toastr.success('Image Upload Successful');
        },
        error: function () {
            toastr.error('Image Upload Unsuccessful. Please try again.');
        }
    })
})    

0 个答案:

没有答案