我的页面上有一个文件上传对象:
<input type="file" ID="fileSelect" />
在我的桌面上有以下excel文件:
我想要的文件上传到只显示.xlsx
,.xls
和.csv
文件。
使用accept
属性,我发现这些内容类型负责.xlsx
和.xls
扩展……
accept
= application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.XLSX)
accept
=应用程序/vnd.ms-excel (.XLS)
但是,我找不到Excel CSV文件的正确内容类型!有什么建议吗?
发布于 2012-08-07 03:45:59
这太尴尬了..。我找到了我正在寻找的解决方案,而且再简单不过了。我使用以下代码来获得所需的结果。
<input id="fileSelect" type="file" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
有效的接受类型:
对于CSV文件(.csv),请使用:
<input type="file" accept=".csv" />
对于Excel文件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
),do NOT use:
text/csv
application/csv
text/comma-separated-values
(仅适用于歌剧)。如果您正在尝试显示特定的文件类型(例如,WAV
或PDF
),则这几乎总是有效的……
<input type="file" accept=".FILETYPE" />
发布于 2017-09-20 04:21:48
现在你可以只使用文件扩展名
<input type="file" ID="fileSelect" accept=".xlsx, .xls, .csv"/>
发布于 2012-08-07 01:54:04
Dom这个属性非常旧,据我所知在现代浏览器中不被接受,但这里有一个替代它的方法,试试这个
<script type="text/javascript" language="javascript">
function checkfile(sender) {
var validExts = new Array(".xlsx", ".xls", ".csv");
var fileExt = sender.value;
fileExt = fileExt.substring(fileExt.lastIndexOf('.'));
if (validExts.indexOf(fileExt) < 0) {
alert("Invalid file selected, valid files are of " +
validExts.toString() + " types.");
return false;
}
else return true;
}
</script>
<input type="file" id="file" onchange="checkfile(this);" />
我想它会帮到你,当然你可以根据你的需要修改这个脚本。
https://stackoverflow.com/questions/11832930
复制相似问题