在大多数浏览器中都可以正常接受......
OS X 10.7.5 - Firefox 30.0 + Safari 6.1.5
这是HTML:
<input id="fileupload" type="file" name="files[]" data-url="/do/upload_my_files" accept=".pdf,.docx,.doc,.xls,.xlsx,.txt,.csv,.ppt,.pptx,.zip,.rar,.psd,.txt,.pps,image/*" multiple>
它只显示可供选择的图像,所有其他文件都显示为灰色。
答案 0 :(得分:6)
HTML 4.01 specification仅允许accept
属性内容中的媒体类型(MIME类型)。 HTML5 extends,其中包含.pdf
等符号。不支持后者的浏览器会将您的属性视为accept="image/*">
。因此,主要使用IANA的权威media type list,将application/pdf
等媒体类型(如果可用)添加到列表中。如果这没有帮助,你可能会运气不好,如果没有处理它的浏览器足够重要,也许应该删除该属性。
答案 1 :(得分:2)
我遇到了同样的问题,发现虽然Safari不接受以逗号分隔的扩展名,但您实际上可以使用前面提到的IANA list来解决大多数类型,包括MS Office文件(这是我需要的) :
.doc / .docx: application / vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xls / .xlsx: application / vnd.openxmlformats-officedocument.wordprocessingml.document
.ppt / .pptx: application / vnd.openxmlformats-officedocument.presentationml.presentation
它适用于Chrome和Safari(6 +)。 IANA列表并不能让您轻松找到所需内容,但freeformatter.com上有一个方便的列表,可以准确地告诉您每个分机的使用情况。