所以我有一個標準的<input type="file" accept="..."/>
其中accept,是不同MIME類型的大列表。 我已經驗證了服務器後端上的文件類型,但我想確定我沒有篩選出客戶端UI上的有效文件。我意識到舊版瀏覽器根本不會過濾文件,這很好。我擔心現代瀏覽器可能無法識別MIME類型並過濾出實際有效的文件。接受屬性中的值是否需要計算機知道MIME類型?
所以我的問題基本上是'accept'屬性有多可靠?例如,如果未安裝Microsoft Office,瀏覽器是否會識別.docx mime類型?此外,某些文件類型有許多不同的可能的MIME類型與它們相關聯,如果我只列出其中一種MIME類型,它是否重要?
我不明白爲什麼規範最初使用MIME類型,它會明顯更簡單,我猜如果他們有第一次使用擴展(如鉻接受)更可靠。
對於我目前用默劇的完整列表:
application/msword,
application/vnd.openxmlformats-officedocument.wordprocessingml.document,
application/rtf,
application/msexcel,
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,
application/vnd.openxmlformats-officedocument.spreadsheetml.template,
application/vnd.ms-excel.template.macroEnabled.12,
application/vnd.ms-excel.sheet.macroEnabled.12,
text/csv,
application/mspowerpoint,
application/vnd.openxmlformats-officedocument.presentationml.presentation,
application/vnd.ms-powerpoint.presentation.macroEnabled.12,
application/vnd.ms-powerpoint,
application/vnd.openxmlformats-officedocument.presentationml.template,
application/vnd.openxmlformats-officedocument.presentationml.slideshow,
application/pdf,
image/jpg,
image/jpeg,
image/png,
image/bmp,
image/gif,
text/plain,
message/rfc822,
application/vnd.oasis.opendocument.text,
application/vnd.oasis.opendocument.spreadsheet,
application/vnd.oasis.opendocument.presentation,
application/visio,application/vnd.visio,
application/vst,
application/vnd.visio.webdrawing,
application/x-mspublisher