700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 安卓微信浏览器使用input file图片上传无法触发change事件

安卓微信浏览器使用input file图片上传无法触发change事件

时间:2021-02-22 13:42:08

相关推荐

安卓微信浏览器使用input file图片上传无法触发change事件

问题现象

项目中遇到一个上传图片的功能,使用了file作为选择上传,需要做图片预览等功能。在多方测试后没有问题,但在安卓微信浏览器中却发现change事件失效无法触发。

解决办法

由于在项目中我是用来上传图片,所以用了accept进行图片的类型限制,如下:

<input required="required" type="file" accept="image/png,image/jpeg,image/bmp" name="report" />

这样会使change事件失效,需要改为:

<input required="required" type="file" accept="image/*" name="report" />

如果需要图片类型验证,则在change事件中对file.type进行正则匹配,方法如下:

function checkImgType(file) {try {if (!(/image\/(jpeg|png|jpg|bmp)/.test(file.type))) {alert("请上传正确的图片类型");return false;}else {return true;}}catch(e) {return false;}}

原因

猜测是安卓微信浏览器不支持accept属性进行列举匹配。如果有大佬知道具体原因可评论拍砖扔鞋子。感谢阅读!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。