html5 input file 如何限制只能调起图库和摄像头、不能选择其他类型的文件?
源文件
<input type="file" name="photo" class="photo"accept="image/gif,image/jpeg,image/jpg,image/png,image/svg">
在ios下只能选择图库,但是在andriod下连文件都可以选择,有什么办法可以在andriod也只能调起图库和摄像头而不能选择其他文件呢?
html5 input file 如何限制只能调起图库和摄像头、不能选择其他类型的文件?
源文件
<input type="file" name="photo" class="photo"accept="image/gif,image/jpeg,image/jpg,image/png,image/svg">
在ios下只能选择图库,但是在andriod下连文件都可以选择,有什么办法可以在andriod也只能调起图库和摄像头而不能选择其他文件呢?
可以通过 FileList 对象来判断上传的文件类型。
监控 input 的 change 事件,file 类型 input 的 files 属性就是 FileList 对象,里面包含选中文件的文件名、大小、文件类型和修改时间等等。
判断文件类型,如果不是图片类型,就弹出相应提示。同样的也可以限制选中图片大小。
FileList 对象:https://developer.mozilla.org...
<input />
的 accept
属性可以指定只允许选择的文件 MIME 类型
<input />
在手机上的效果不可预料,特别是在 Android 手机,包括手机上的 IE6,微信内置浏览器腾讯 X5
所以保险做法就是利用 File API 拿到 FileList 之后自己做一遍类型检查和过滤
后端也做一遍检查和过滤
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
刚刚搞定
<input type="file" capture="camera" accept="image/*" />
demo:
http://hking.me/wechat-camera...
不推荐使用 微信JSSDK