Я использую форму jquery для загрузки изображения без обновления страницы. Ниже приведена html-разметка:
<a href="javascript:void(0);" onclick="UpdateImage();">
<img src="@_fullImgPath" name="img-uploader" alt="" title="" /></a>
@using (Html.BeginForm("UpdateImage", "Profile", FormMethod.Post, new { id = "img-file-upload-form", @class = "form", autocomplete = "off", enctype = "multipart/form-data" }))
{
@Html.Hidden("UpdateImageId")
<input type="file" name="file" id="file" />
}
<script language="javascript" type="text/javascript">
$(function () {
$("#img-file-upload-form").ajaxForm({
iframe: true,
dataType: "json",
beforeSubmit: function () {
},
success: function (result) {
alert('done');
},
error: function (xhr, textStatus, errorThrown) {
alert('error');
}
});
$("#file").change(function () {
$("#img-file-upload-form").submit();
});
});
function UpdateImage(id) {
$("input[id=file]").click();
}
</script>
Это отлично работает в Firefox и Chrome, но в IE 8 и 9 выдает ошибку отказа в доступе. Есть ли какое-нибудь решение для этого? Или есть альтернатива загрузке изображения без обновления страницы?