2015-10-14 54 views
0

我在玩弄使用<input type="file" />元素,並且我接受了我希望支持的各種不同文件類型。當使用HTML5元素輸入類型=「文件」時,.log文件的文件類型

<input type="file" name="file" accept="image/png, image/jpeg, image/jpg, application/pdf, application/txt, text/plain, application/pdf, text/x-log, application/enex+xml, text/*, .log" /> 

根據所供應,我可以看到哪些文件類型是通過觀察FileList看起來像這樣傳遞的文件。

FileList

一切正常,但對於.log,因爲你可以在上面看到,沒有一個type ......我想知道是否有辦法辨別.log文件?我可以看看name傳遞並解析文件擴展名,但想知道是否有更好的方法?我也不確定其他文件類型沒有註冊type,如果有文件?

回答

1

不幸的是,你不能依賴返回的類型。可用的類型將根據瀏覽器和操作系統而改變。通常它返回用os註冊的值。

您可以使用文件名,但這不是100%可靠。沒有什麼能夠阻止用戶將zip文件重命名爲.log。在大多數情況下,這也會改變啞劇。要100%確定的唯一方法是讀取文件並查看它包含的內容。

+0

啊我明白了。感謝你及時的答覆。我發現w3c中的[FileAPI](http://www.w3.org/TR/FileAPI/),以防萬一有人好奇,但大部分情況下這回答了我的問題。 – aug