0

如果我尝试从 IE 中的 HTML 输入对象获取文件名值,它会返回完整路径和文件名,但在 Chrome 中它只返回基本文件名。有没有办法让它返回完整的路径和文件名而不管浏览器,还是我必须跳到像 JQuery 这样的东西才能做到这一点?全能的上帝我讨厌愚蠢的非标准网络“标准”。

代码示例:

<input type="file" name="fn" id="fn"/>

单击 IE 中的选择按钮并导航到类似“\server123\apps\folder1\setup.exe”的路径,在表单中显示并在 [submit] 处理程序事件中处理的结果也是“\server123 \apps\folder1\setup.exe”。但是,在 Chrome 22.x 到 28.x 中运行相同的步骤时,它只显示“setup.exe”并通过 [submit] 处理程序传递它。不管浏览器如何,有没有办法让它处理完整的路径和文件名?

4

2 回答 2

1

我终于解决了这个问题,以便应用程序检测用户正在使用的浏览器,并在不是 IE 时显示适当的消息。该消息只是建议用户将整个 UNC 路径复制并粘贴到注释框中。这完全是一个内网应用程序,所以没有任何东西暴露在外面。

于 2013-09-09T00:58:42.750 回答
1

出于安全原因,Chrome 会清除路径信息。因此无法访问路径信息。

fileinput.onchange = function(e) {
  console.log(e.target.value); // Will be c:\fakepath
}
于 2013-07-23T21:11:37.687 回答