我目前工作的.NET下的MVC平台的一个新的网站,我试图通过iframe来实现异步用户上传的图像。尽管我几乎完成了我的任务,并且在IE 9中的任何其他浏览器都失败并出现以下错误:Microsoft JScript runtime error: Access is denied.
它看起来像是一个安全问题。请允许我使用以下代码片段来描述我的问题,其中包含以下评论: 1.我有一个带有输入文件的html表单,其可见性处于隐藏状态。在表单中有一个输入元素type="file"
和一个提交按钮(也隐藏)。访问被拒绝错误在IE浏览器,而文件上传
<div class="brandLogo">
<p>@identity._RetailerLogo.Caption</p>
<div id="LogoContainer" class="imgLogo">
<img id ="CompanyLogo" src="@DefaultRetailerImage" alt="" title="@Model._ADD_LOGO_IMAGE">
</div>
<p class="txtR">
<a id="UploadLogo" href="#" style="position: absolute; left: -999em; top: -999em;">Upload
</a>
</p>
<form id="UploadForm"
action="@Url.Action("editLogo", "Profile")"
method="POST" enctype="multipart/form-data"
name="UploadForm"
target="UploadTarget"
style="position: absolute; left: -999em; top: -999em;">
<input name="UploadLogoFile" id="UploadLogoFile" type="file" onchange="clickUploadButton();" />
<input type="button" id="SubmitLogoForm" value="Save Image" />
</form>
<iframe id="UploadTarget" onload="UploadImage_Complete();" name="UploadTarget" style="position: absolute;
left: -999em; top: -999em;"></iframe>
HTML表单试图通过JavaScript文件发布到一个iframe。 form和iframe都在我的本地项目(asp.net mvc)下的同一个域中(我在localhost下运行)。
我使用的是在输入元素上改变事件来捕获用户选择的东西,并触发提交与Ajax调用的形式。所以当我通过javascript调用时:
$("#formID").submit()
我得到一个访问被拒绝的错误。
任何帮助,将不胜感激