前端上传文件限制指定文件类型 xls、xlsx、csv、image、video等

当我想要限制上传的文件格式时

第一种

  • csv
<input type="file" accept=".csv" />
  • .xls(Excel Files 97-2003)
<input type="file" accept="application/vnd.ms-excel" />
  • .xlsx(Excel Files 2007+ )
<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/*" />
  • .htm,.html
<input type="file" accept="text/html" />
  • .avi, .mpg, .mpeg, .mp4
<input type="file" accept="video/*" />
  • .mp3, .wav, etc
<input type="file" accept="audio/*" />
  • PDF
<input type="file" accept=".pdf" /> 

注意:当你想要能够上传csv时 不要使用以下:

text/csv
application/csv
text/comma-separated-values (works in Opera only).

第二种

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

踩坑:
一些基于upload封装的组件,当我在使用accept的时候,他会报错图片格式问题,具体原因不详。
可以参考:
https://stackoverflow.com/questions/11832930/html-input-file-accept-attribute-file-type-csv

### 如何在HTML中设置`<input>` `file`标签以限定可选择的文件类型 为了限制用户通过`<input type="file">`控件可以选择的文件类型,在HTML中可以通过设置`accept`属性来实现这一点。此属性定义了一个模式,用于指示浏览器应向用户展示哪些类型的文件供其选择。 对于特定类型的图像文件,比如GIF和JPEG图片,可以如下配置: ```html <input type="file" name="pic" accept="image/gif, image/jpeg"/> ``` 上述代码仅允许用户挑选.gif或.jpeg格式的图形文件[^2]。 当目标是让输入框只显示某些扩展名的文档时——例如Excel工作表(.xls,.xlsx)或是逗号分隔值文件(.csv),则应该这样编写标记: ```html <input type="file" accept=".xls, .xlsx, .csv"> ``` 如果目的是使对话框过滤器匹配所有的文本文件,则应当采用下面的方式设定`accept`参数: ```html <input type="file" accept="text/plain" /> ``` 同样地,针对不同类别的多媒体资源也有相应的处理办法。要让用户能够选取任意一种支持的音频格式作为源文件,那么就需指明媒体范围为`audio/*`;同理,视频素材对应的通配符则是`video/*`。而对于网页本身而言,即超文本标记语言编写的页面,可通过指定MIME类型"text/html"达到目的。至于Adobe Acrobat Reader打开的那种便携式文档格式(PDF),直接给出".pdf"即可满足需求[^3]。 最后,考虑到微软Word文档的情况,这里提供了一种方法使其成为唯一可见选项给最终使用者: ```html <input type="file" accept="application/msword"> ``` 这种做法有效地缩小了可能被上传至服务器端的内容种类,从而提高了安全性并简化了后续的数据管理流程[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值