HTML5 input file控件使用accept过滤限制的文件类型以及在谷歌下打开很慢的问题
在文件上传控件(input type='file')中,可以通过accept属性实现对文件类型的过滤。
一、相关代码:
下面给出对应的文件上传控件代码:
<input type="file" id="myFile" accept="image/jpeg,image/gif,application/msword"/><br/>
上面的代码表示限制文件上传类型为.jpg/.gif/.doc。
二、限制规则:
在文件上传控件的accept属性中,接受以下两种格式的限制符:
- 文件类型,但不限制具体扩展名,如:image/*,就只要是图片就行。
- 文件类型+具体的文件扩展类型,如:image/jpeg,使用的是MIME_TYPE类型
- 多个MIME_TYPE类型之间用逗号分隔。
三、accept属性具体接受的类型:
accept这个属性,只在FF,ie10和chrome中有效。
以下是常用的类型:

我们在代码中使用了HTML5的input[file]标签去上传图片
<input type="file" name="file" class="element" accept="image/*">
同时,在上面代码中,使用了 accept=”image/*” 去过滤所有非图片的文件。但是,这段代码在Chrome和Safari等Webkit浏览器下却出现了响应滞慢的问题,可能要等 6~10s 才能弹出文件选择对话框。简直不能忍呀。在IE和Firefox中使用accept="image/*"属性则没有发现响应延迟的问题。
对属性进行逐一排查后,发现是accept=”image/*”的问题。将accept=”image/*”改为指定的图片格式就不会出现上述的概率性问题,所以我将上传图片的过滤格式指定为了常用的几种格式
<input type="file" name="file" class="element" accept="image/jpg,image/jpeg,image/png">
当然,如果希望过滤所有的非图片格式,那么这个问题还是会存在。原因初步猜想是当设置accept=”image/*”时,浏览器会在弹出框中处理所有的非图片元素,包含所有的图片格式,如果文件较多会增加处理时间,而这个时候可能在这个版本的chrome中有bug(也许是底层没实现好),导致概率性时间增长。
HTML5 input file控件使用accept过滤限制的文件类型以及在谷歌下打开很慢的问题的更多相关文章
- 使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件
使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件 原来的写法: <input type="file" accept="image/x-png ...
- 为什么Jquery对input file控件的onchange事件只生效一次
今天在做jquery对input file控件的onchange事件进行监听,就一直只生效一次,不知道Jquery为什么对file控件没有做到每次改变触发onchange事件的效果,但是还是有好几种解 ...
- Jquery对input file控件的onchange事件只生效一次的解决方案
1.原始方法:把事件写在file控件的onchange=""里面: 2.Jquery方法一: $('#fileId').live('change',function(){ //逻辑 ...
- input file控件限制上传文件类型
网页上添加一个input file HTML控件: <input id="File1" type="file" /> 默认是这样的,所有文件类型都会 ...
- WebView使用input file控件打开相册上传图片
使用 WebView 直接用 控件选择相册图片 package com.moguzhuan.android.zhuan; import android.annotation.TargetApi; im ...
- 解决Jquery对input file控件的onchange事件只生效一次的问题
如题,解决办法的代码如下: 1. $('#fileId').live('change',function(){ //逻辑添加.... }); 2. $('#fileId').change(functi ...
- jquery如何获取input(file)控件上传的图片名称,即"11111.jpg"
html代码:<input name=file" type="file" id="file"/> Jquery代码:var file;$( ...
- HTML5中的input type为file控件限制上传文件类型及扩展
简单介绍 input file控件限制上传文件类型如下:1.文件类型中间用,分开:2.html和htm这样的要写成两个: 3实例: <input type="file" na ...
- js动态添加file控件
<html></head><script language="javascript" type="text/ecmascript" ...
随机推荐
- mvc3 RenderAction传参问题
我在viewA中调用部分视图viewB代码如下:@{Html.RenderAction("NewsList","News",new{pageSize=13, c ...
- oracle chr(38) 和 ascii('&') 函数
oracle chr(38) 和 ascii('&') 函数 select chr(38) from dual; select ascii('&') from dual;
- cvc-complex-type.2.4.d: 发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素。
Eclipse上开发Android的时候,新建的项目提示: [2016-01-13 14:07:56 - android SDK] Error when loading the SDK: Erro ...
- python网页下载
python 2.7版本下可以运行 import urllib2 def getHtml(url): response = None requset = None headers = {'User-A ...
- centos 6.5 安装mysql 5.6.35--libc.so.6(GLIBC_2.14)(64bit)
[参考] http://blog.csdn.net/cpplang/article/details/8462768 http://www.linuxidc.com/Linux/2015-04/1160 ...
- 导航控制器(UINavigationController)
导航控制器管理一系列显示层次型信息的场景.它创建一个视图管理器"栈",栈底为根视图控制器,用户在场景间切换时,依次将试图控制器压入栈中,且当前场景的试图控制器位于栈顶.要返回上一级 ...
- 正则表达式 \ 和 原生字符串 r
使用python写字符串常量时,raw string是个很好用的东东,比如在C里我要写一个Windows下的路径,得这么写: char *path = "C:\\mydir\\myfile. ...
- [BZOJ4873][六省联考2017]寿司餐厅(最大权闭合子图)
4873: [Shoi2017]寿司餐厅 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 490 Solved: 350[Submit][Status ...
- MODI出现ORC RUNNING ERROR的解决方法
stackflow都没个靠谱的说法,最后还是csdn上看到的.转一个备用.http://bbs.csdn.net/topics/390135443 由于直接执行Mircosoft Office Doc ...
- noip200705统计数字
试题描述: 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出 ...