这太尴尬了……我找到了我一直在寻找的解决方案,而且再简单不过了。我使用以下代码来获得所需的结果。
<标签= " fileSelect " >表格> < /标签
<input id="fileSelect" type="file" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml。盾板,应用程序/。ms excel " / >
有效的接受类型:
对于CSV文件(.csv),使用:
<input type="file" accept=".csv" />
对于Excel Files 97-2003 (.xls),请使用:
<input type="file" accept="application/vnd.ms-excel" />
对于Excel Files 2007+ (.xlsx),使用:
<input type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
对于文本文件(.txt)使用:
<input type="file" accept="text/plain" />
对于图像文件(.png/.jpg/etc),使用:
<input type="file" accept="image/*" />
对于HTML文件(.htm,.html),使用:
<input type="file" accept="text/html" />
对于视频文件(。Avi, .mpg, .mpeg, .mp4),使用:
<input type="file" accept="video/*" />
对于音频文件(.mp3, .wav等),使用:
<input type="file" accept="audio/*" />
对于PDF文件,请使用:
<input type="file" accept=".pdf" />
演示:
http://jsfiddle.net/dirtyd77/LzLcZ/144/
注意:
如果您试图显示Excel CSV文件(.csv),请不要使用:
文本/ csv
应用程序/ csv
文本/逗号分隔值(仅适用于Opera)。
如果你试图显示一个特定的文件类型(例如,WAV或PDF),那么这将几乎总是工作…
<input type="file" accept=".FILETYPE" />
原因如下:
应用程序类型通常意味着打开文件的位置。
例如,Abode Reader。
但是当这个文件上传时,浏览器并不关心打开并询问该应用程序。但扩展,然而,或键入字,如MIME图像或音频等工作直接应用到文件单元。
可以将它们与File DOM实例关联使用。
因此,您应该使用扩展格式名称。
在许多设备上,如手机,它是看到当你点击选择文件,非接受的文件在用户菜单中被排除在灰色…
有一个伟大的时间花在您的文件!