【问题标题】:File upload issue in ie11ie11文件上传问题
【发布时间】:2014-06-10 01:42:27
【问题描述】:

我在我的应用程序中使用文件上传插件,但用户使用浏览器按钮选择的实际文件名在 IE 10 和 IE 11 中表现不同

<input type="file" name="testFile" id="testapiFile">

我正在使用 jquery 表单提交方法提交表单。

在网络选项卡中,我看到文件名作为完整路径 (C:\fullpath\test.doc),但在服务器端,对于 IE 10,我得到的是 test.doc 和 IE11 C:fullpathtest.doc(获取无效路径名)

有什么想法吗?

谢谢, 小伙伴们

【问题讨论】:

  • 你的服务器端是什么样子的?
  • blogs.msdn.com/b/ie/archive/2009/03/20/… 有更多上下文。 C:\Fakepath\ 的东西只有 JavaScript 才能看到(它不会上传到服务器),这意味着您可能在客户端上有 JavaScript 代码正在发送控件的 .value 属性。

标签: jquery html internet-explorer-10 internet-explorer-11


【解决方案1】:

这可能会有所帮助 - 也许 IE11 中的安全设置不同?

http://msdn.microsoft.com/en-us/library/ie/ms535263(v=vs.85).aspx

Windows Internet Explorer 8 及更高版本。当使用输入 type=file 对象选择文件时,value 属性的值取决于用于显示网页的安全区域的“将文件上传到服务器时包括本地目录路径”安全设置的值包含输入对象。有关详细信息,请参阅价值。

Windows Internet Explorer 7 及更高版本。默认情况下,将文件上传到受限区域中的站点时,Internet Explorer 不包括文件夹或目录路径信息。这通过防止信息泄露来提高安全性。此外,为了提高可访问性,input type=file 元素现在包含两个可访问元素——一个用于输入框,一个用于“浏览”按钮。此更改仅适用于辅助工具;脚本实现不受影响。

【讨论】:

  • 太棒了!谢谢 !有一个 IE 参数可以修改站点的“感知”:Internet 选项/安全/本地 Intranet/站点。如果我检查第一个,IE 会将localhost:8080 检测为 Internet 网站,并且不会包含完整路径。但是,如果我检查其他 3 个,它将被视为“Intranet”并且将包含完整路径(每个区域中“将文件上传到服务器时包含本地目录路径”的默认设置)
猜你喜欢
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多