Tôi không thể tìm thấy loại MIME hoạt động. Tuy nhiên, sau không công việc:
<input type="file" accept="application/pdf,.pps" name="upldInput"/>
Rõ ràng bạn có thể mix and match phần mở rộng tập tin và MIME loại. Trên Chrome 25 và IE 10 (PC), điều này mang lại hành vi mong muốn, nghĩa là chỉ có các loại MIME phù hợp (s) hoặc mới được hiển thị.
Demo: http://jsfiddle.net/GGFVv/
Tôi cũng đã thử trộn nhiều phần mở rộng và nhiều loại MIME, mà cũng dường như để làm việc.
<input type="file"
accept=".pps,
.jpg,
.txt,
application/pdf,
application/vnd.ms-powerpoint,
application/vnd.openxmlformats-officedocument.presentationml.slideshow,
application/vnd.openxmlformats-officedocument.presentationml.presentation" name="upldInput"/>
Demo: http://jsfiddle.net/GGFVv/2/
Tôi nên lưu ý rằng lọc phần mở rộng tập tin dường như không làm việc trong Firefox 19. Tôi tưởng tượng này là do sự khác biệt giữa hành vi được xác định bởi W3C và WHATWG.
Việc đề cập ban đầu của accept
(! Năm 1995) là một chút mơ hồ:
Cho phép một CHẤP NHẬN thuộc tính cho thẻ INPUT, mà là một danh sách các phương tiện truyền thông loại hoặc kiểu mẫu được phép cho đầu vào.
Firefox xuất hiện mặc định thành "tất cả các tệp" khi tìm thấy giá trị không nhận dạng được, vì vậy phần này thân thiện với người dùng (mặc dù không lý tưởng).
Nguồn
2013-04-01 23:18:46
Vẫn đang tìm giải pháp – user1615362
Tôi đã cập nhật câu trả lời của mình với nhiều thông tin hơn. Nếu thiếu sự hỗ trợ FF là một thỏa thuận-breaker, cảm thấy tự do để loại bỏ "chấp nhận" kiểm tra và xem nếu ai đó có một câu trả lời tốt hơn. –