前端与后台数据进行对接时,就避免不了要使用ajax进行http请求,常用的请求就两个post与get;然而常见的post请求的需求是文件上传,可能我一说到文件上传大家都觉得so  easy啊,没什么嘛,就是几行 js 代码就能搞定的事。是的,简单的文件上传是可以直接使用FormData()对象将文件上传;如果问题只是这么简单就好了,可能大家也都遇到过上传文件类型的限制,不知道大家有没有注意到这么简单的方法将文件类型过滤,下面直接贴代码:

 1、 js实现:js实现上传文件类型的限制是将允许上传的文件的后缀名全部列出,以数组的形式存储,然后通过数组的indexof方法即可,以图片为例代码如下

    var  fileType = ['jpg' ,'png' , 'jpeg' , 'gif' , 'bmp']

    var file  = e.target.files[0]

    if(fileType.indexof(file) < 0) {

      alert(‘不支持这种类型的文件’)

    }

关于数组的indexof()方法怎么用,可以看我的这篇博文:http://www.cnblogs.com/novice007/p/7077914.html

 2、 css实现:不知道大家有没有注意到一个细节,那就是我选择了文件之后,如果不是我规定的类型页面就会弹框告诉我不支持这个格式的文件,那么问题就来了,既然不支持这种格式的文件,那我可不可以在点开文件进行选择的时候,不是我要的格式的文件就不显示,那我就不能选择,同时页面也不会这么讨厌的让我去重新选择它要的格式,能做到吗?答案是能,而且不需要任何代码,简简单单的在html页面就能实现:代码如下:

  <input   type ="file"  accept="image/jpg, image/png, image/jpeg, image/gif">

  在input文件框中,添加accept特性,特性中限制文件类型,那么在点开输入框进入本地磁盘选择文件时,不是accept特性指定的文件类型那么你在打开的本地磁盘文件中就看不到这些文件。

这是最近做项目时遇到的一个很好解决文件类型限制问题的方法,所以写出这篇博文跟大家分享,如有不足之处,欢迎与我交流:qq: 1540302851

input type='file'限制上传文件类型的更多相关文章

  1. input type file onchange上传文件的过程中,遇到同一个文件二次上传无效的问题。

    不要采用删除当前input[type=file]这个节点,然后再重新创建dom这种方案,这样是不合理的.解释如下:input[type=file]使用的是onchange去做,onchange监听的为 ...

  2. input[type='file']获取上传文件路径案例

    最近在项目时,需要获取用户的上传文件的路径,便写了一个demo: <body> <input type="file" name="" valu ...

  3. input type file onchange上传文件的过程中,同一个文件二次上传无效的问题。

    不要采用删除当前input[type=file]这个节点,然后再重新创建dom这种方案,这样是不合理的.解释如下:input[type=file]使用的是onchange去做,onchange监听的为 ...

  4. html input file accept 上传文件类型限制格式 MIME 类型列表

    例: <input type="file" accept="application/vnd.openxmlformats-officedocument.spread ...

  5. input type=file 图片上传相关

    HTML: <input type="file" name="address"   onchange='PreviewImage(this)' value ...

  6. <input type="file"> accept属性筛选文件类型

    如果你不希望用户上传任何类型的文件, 你可以使用 input 的 accept 属性. 设置支持 .doc / .docx / .xls / .xlsx / .pdf 格式: <input ty ...

  7. input file限制上传文件类型

    http://www.cnblogs.com/haocool/p/3431181.html http://www.haorooms.com/post/input_file_leixing http:/ ...

  8. 上传文件表单file,限制上传文件类型的方法--参数accept

    我们使用<input type="file" />来上传文件,但是当你只想要上传某种格式的文件,比如说(jpg)文件时.可以通过accept来限制. <form& ...

  9. HTML5中的input type为file控件限制上传文件类型及扩展

    简单介绍 input file控件限制上传文件类型如下:1.文件类型中间用,分开:2.html和htm这样的要写成两个: 3实例: <input type="file" na ...

随机推荐

  1. 超强视频超分AI算法,从此只看高清视频

    最近发现一个特别强的视频超分算法----BasicVSR,在真实世界数据集中,实现了前所未有的视觉重建效果,最近它还拿下了超分比赛NTIRE 2021三冠一亚的优异成绩,登上了CVPR 2022. 视 ...

  2. Lua在Nginx的应用

    当 Nginx 标准模块和配置不能灵活地适应系统要求时,就可以考虑使用 Lua 扩展和定制 Nginx 服务.OpenResty集成了大量精良的 Lua 库.第三方模块,可以方便地搭建能够处理超高并发 ...

  3. javaScript阻止浏览器F5刷新

    1 <script type="text/javascript"> 2 //禁止用F5键 3 document.onkeydown = function (e) { 4 ...

  4. mysql5.7开启二进制日制中间遇害到的坑

    centos7下经过多次试验最终开启进这制日志成功. 最终用以下这个方法在mysql5.7下开启日志成功 下面这两个参数注意是下划线不是"-" log_bin=mysql-bin ...

  5. Java 开发工具之Myeclipse快捷键

  6. 用Markdown写Html和.md也就图一乐,真骚操作还得用来做PPT

    前言 和这篇文章一样,我就是用Markdown写的.相信各位平时也就用Markdown写写文档,做做笔记,转成XHtml.Html等,今天教大伙一招骚操作:用Markdown写PPT. 绝大多数朋友做 ...

  7. String是基本数据类型吗?

    基本数据类型包括byte.short.int.long.char.float.double和boolean.String不是基本类型.String是引用类型. 而且java.lang.String类是 ...

  8. 什么是原子操作?在 Java Concurrency API 中有哪些原 子类(atomic classes)?

    原子操作(atomic operation)意为"不可被中断的一个或一系列操作" . 处理器使用基于对缓存加锁或总线加锁的方式来实现多处理器之间的原子操作. 在 Java 中可以通 ...

  9. Linux 网卡配置参数

    网卡配置文件位于 /etc/sysconfig/network-scripts/ 目录下 网卡配置文件在RHEL5/6以eth为网卡文件的前缀,在RHEL7中以ifcfg为网卡文件的前缀 配置 解释 ...

  10. 如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)

    如何将Matlab中"模糊控制设计器"的隶属度函数导出图片(figure)详情参考matlab官方帮助手册:plotmf()函数https://www.mathworks.com/ ...