首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >HTML Input=“文件”接受属性文件类型(CSV)

HTML Input=“文件”接受属性文件类型(CSV)
EN

Stack Overflow用户
提问于 2012-08-07 01:18:50
回答 10查看 658.3K关注 0票数 617

我的页面上有一个文件上传对象:

<input type="file" ID="fileSelect" />

在我的桌面上有以下excel文件:

  1. file1.xlsx
  2. file1.xls
  3. file.csv

我想要的文件上传到只显示.xlsx.xls.csv文件。

使用accept属性,我发现这些内容类型负责.xlsx.xls扩展……

accept= application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (.XLSX)

accept=应用程序/vnd.ms-excel (.XLS)

但是,我找不到Excel CSV文件的正确内容类型!有什么建议吗?

示例:http://jsfiddle.net/LzLcZ/

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 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 (仅适用于歌剧)。

如果您正在尝试显示特定的文件类型(例如,WAVPDF),则这几乎总是有效的……

 <input type="file" accept=".FILETYPE" />
票数 1.6K
EN

Stack Overflow用户

发布于 2017-09-20 04:21:48

现在你可以只使用文件扩展名

<input type="file" ID="fileSelect" accept=".xlsx, .xls, .csv"/>
票数 224
EN

Stack Overflow用户

发布于 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);" />

我想它会帮到你,当然你可以根据你的需要修改这个脚本。

票数 41
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11832930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档