如何显示文本框和选择文件图标,当选择文件时,它将在文本框中显示文件的完整路径(无伪路径)?
<input type="file">
似乎只显示没有完整路径的文件名。
答案 0 :(得分:2)
隐藏完整路径的决定是出于隐私和安全问题。
根据working draft of the HTML5 specification,value
属性:
必须返回字符串
"C:\fakepath\"
,后跟所选文件列表中第一个文件的文件名(如果有),如果列表为空,则返回空字符串。
因此,除了使用Java或Flash applet之外,可能无法通过JavaScript或任何其他方式获取完整路径。 (Java和Flash都不是标准的,所以我不认为你会喜欢它)。我会说你最好坚持使用大多数桌面和移动浏览器支持的标准<input type="file" />
。
进一步说明:根据WHATWG返回伪路径而不仅仅是文件名的原因:
最初的计划是拥有文件名。不幸的是,事实证明,如果你这样做,有些网站会破坏,因为他们期望路径(并且他们期望Windows路径,不会少)。这就是Opera和IE8返回虚假路径的原因 - 不是因为HTML5会这样做。事实上,我让HTML5说出来是因为他们正在这样做。