文件选择器,文本框显示完整路径

时间:2012-10-18 17:03:00

标签: javascript html internet-explorer firefox google-chrome

如何显示文本框和选择文件图标,当选择文件时,它将在文本框中显示文件的完整路径(无伪路径)?

<input type="file">似乎只显示没有完整路径的文件名。

1 个答案:

答案 0 :(得分:2)

隐藏完整路径的决定是出于隐私和安全问题。

根据working draft of the HTML5 specificationvalue属性:

  

必须返回字符串"C:\fakepath\",后跟所选文件列表中第一个文件的文件名(如果有),如果列表为空,则返回空字符串。

因此,除了使用Java或Flash applet之外,可能无法通过JavaScript或任何其他方式获取完整路径。 (Java和Flash都不是标准的,所以我不认为你会喜欢它)。我会说你最好坚持使用大多数桌面和移动浏览器支持的标准<input type="file" />


进一步说明:根据WHATWG返回伪路径而不仅仅是文件名的原因:

  

最初的计划是拥有文件名。不幸的是,事实证明,如果你这样做,有些网站会破坏,因为他们期望路径(并且他们期望Windows路径,不会少)。这就是Opera和IE8返回虚假路径的原因 - 不是因为HTML5会这样做。事实上,我让HTML5说出来是因为他们正在这样做。