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 ではアクセス拒否エラーがスローされます。これに対する修正はありますか?または、ページを更新せずに画像をアップロードする代替手段はありますか?