2012-10-18 110 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說,因爲他們這樣做。

相關問題