iphone6 10.0以下的系统不支持input file怎么办

一开始使用h5做图片上传,发现只有ios11及以上的系统(即ipone7以后的手机)才可以实现input[type=’file’]这个方法,为了兼容ios10及以下的系统,最后没办法只得使用原生ios上传图片.
原生ios app和h5 进行交互,和ios端定义了方法,clickVideoButton,ios拦截到这个方法,会调用原生ios的上传, 图片上传之后会得到一个图片的url,现在需要把这个url返回给我,ios调取我的一个方法 ImgView(),把参数传给我.问题就出现在这个地方了,ios死活进不到我这个方法里面,花了几个小时,查了无数文档,发现代码一点毛病没有,于是在我们老大的提点下,发现是因为我最外层包了一个jq的外壳,
即我的代码都是写在这里面的

($(function(){}))

,这形成了一个闭包.问题就出闭包上面,我相当于给我的代码套了一层外壳,导致ios客户端无法访问.最后去掉$(function(){}),ios就能访问到我的方法imgview,我就可以拿到数据.

对于安卓客户端,最开始发现也无法使用input[type=’file’]上传图片,可以调起相册和相机,但是无法上传图片成功,最后发现安卓默认的webview禁掉了这个功能,安卓客户端需要写一些代码,经过尝试终于改好了,但是遗憾的是安卓4.4及以下版本还是不支持input[type=’file’],现在也没办法了.

这是我在工作中遇到的问题,如果大家有不同意见,或者发现ios 10的系统可以支持图片上传,那么欢迎大家指正.最后补充一点,我们上传图片用的是formdata方式.

你可能感兴趣的:(js相关,h5移动端上传图片)