gpt4 book ai didi

javascript - 文件上传时 IE 中的访问被拒绝错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:20:04 26 4
gpt4 key购买 nike

我目前正在 .NET MVC 平台下开发一个新站点,我正在尝试通过 iframe 实现异步用户上传图片。虽然我几乎完成了我的任务并且在任何其他浏览器中都能正常运行,但在 IE 9 中失败并出现以下错误:Microsoft JScript 运行时错误:访问被拒绝。 这看起来像是一个安全问题。请允许我使用以下带有注释的代码片段来描述我的问题:1. 我有一个带有输入文件的 html 表单,它的可见性是隐藏的。在表单内部有一个带有 type="file" 的输入元素和一个提交按钮(也是隐藏的)。

<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>

  1. html 表单尝试通过 javascript 将文件发布到 iframe。表单和 iframe 都在同一域下的本地项目 (asp.net mvc) 上(我在本地主机下运行它)。

  2. 我在输入元素上使用 on change 事件来捕获用户选择的内容并通过 ajax 调用触发表单提交。因此,当我通过 javascript 调用时:$("#formID").submit() 我收到拒绝访问错误。

任何帮助将不胜感激

最佳答案

我之前看到这个 IE 错误,最后我改变了我的方法。触发输入元素的更改事件以编程方式被 IE 视为安全风险:((如此愚蠢的 IE)

默认IE不会让你触发文件元素改变,如果你想要这个功能可以使用ajaxuploaderfileuploader

var uploader = new qq.FileUploader({
// pass the dom node (ex. $(selector)[0] for jQuery users)
element: document.getElementById('file-uploader'),
// path to server-side upload script
action: '/server/upload'
});

关于javascript - 文件上传时 IE 中的访问被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12286993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com