2012-10-18 73 views
0

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

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

+4

[该虚假路径是一种安全措施](http://www.w3.org/TR/html5/states-of-the-type-attribute.html#fakepath-srsly)。你无法处理任何事情。 –

+0

该评论应该是一个答案,因为它是*答案:) – danwellman

+0

@AlvinWong,是的,如果你可以发布它作为答案,这将是伟大的,至少我可以接受它:) – william007

回答

2

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

按照working draft of the HTML5 specification,在value属性:

必须返回字符串"C:\fakepath\"接着在选定的文件列表中的第一个文件的文件名,如果有的话,或者空字符串,如果该列表空。

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


此外,注意:原因返回fakepath的,但不只是文件名,根据WHATWG

原来的计划是只具有文件名。不幸的是,事实证明,如果你这样做了,那么某些站点会中断,因为他们期望路径(并且他们期望Windows路径不低于)。这就是Opera和IE8返回虚假路径的原因 - 不是因为HTML5说这样做。事实上,我让HTML5说,因为他们这样做。

相关问题