0

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

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

4

1 回答 1

2

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

根据HTML5 规范的工作草案value属性:

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

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


进一步说明:根据WHATWG ,返回虚假路径而不只是文件名的原因:

最初的计划是只有文件名。不幸的是,事实证明,如果您这样做,某些站点会中断,因为它们期望路径(并且它们期望 Windows 路径,不少于)。这就是 Opera 和 IE8 返回虚假路径的原因——而不是因为 HTML5 要求这样做。事实上,我让 HTML5 这么说是因为他们正在这样做。

于 2012-10-20T13:09:53.533 回答