zl程序教程

您现在的位置是:首页 >  前端

当前栏目

[转载]input[type=file]在移动端各浏览器无法适配打开相机的问题。

浏览器 无法 移动 打开 File 转载 type input
2023-09-27 14:28:57 时间
近期有一需求是拍照上传用户头像并能进行区域性的截取操作。
故使用了input[type=file]标签进行尝试,PC端无问题,后发现移动端方面:
1.乐视2s手机在UC,360,QQ,EUI浏览器下均能实现调用相机,在微信浏览器下无法调用相机,但是能选择图片文件上传。
为尝试解决,曾在input标签内添加属性capture="camera"——然并卵。
这时候又出现了一个神奇的问题,由于本人使用的是一款叫photoclick的插件(github地址:https://github.com/baijunjie/PhotoClip.js/blob/master/js/PhotoClip.js),此为作者2016年的最新版本,此为demo:http://120.131.8.110:8080/picture/index.html  此时在乐2手机下使用微信浏览器无法调用相机。[转载]input[type=file]在移动端各浏览器无法适配打开相机的问题。

 然而在网上寻找的同一款插件,不同的是这是2014年发布的,也就是说是作者之前发布的版本,实现的demo:http://120.131.8.110:8080/hanyuanwen/index.html   
[转载]input[type=file]在移动端各浏览器无法适配打开相机的问题。

同一台乐2手机在微信浏览器下居然又可以调用相机的,后寻找原因未果,暂以为是某一个hack,跟微信的版本有关。。
2.华为手机,在微信浏览器下上述两个网址中都无法实现调用相机功能,可以实现上传图片功能,于是,本人又凌乱了。。
3.苹果5S手机,最为吊炸天,无论在任何浏览器下(包括微信浏览器)就能实现调用相机的功能,是否能理解为苹果确实有值得称道的地方?
4.奇酷360手机,情况与乐视2S手机一毛一样,不多阐述。

最后:
屈服于使用微信JS-SDK调用相机接口以适应各类机型。。(进入之前先判断是否为微信浏览器,不是的话直接使用原生input[type=file]标签)