我的网站上有一个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.');
}
})
})