相信在微信网页中上传图片这个需求很常见,我也尝试过很多种办法(我这边的需求是微信网页上传图片到七牛,然后拿到图片的地址给接口)
- 使用七牛提供的sdk+
pulpload
上传
缺点:兼容性极差,很多手机上根本上传不了,没有图片压缩什么的 - 使用
formData
+localResizeIMG
的方式上传到七牛
优点:兼容性比第一种好得多,而且也支持图片压缩什么的
缺点:有些需要上传多张图片的地方,很难做到图片多选 -
使用微信
js-sdk
选择、上传到微信服务器然后由后端将图片从微信服务器上下载到七牛
优点:兼容性好,支持多选什么的,毕竟是微信原生的方法
缺点:- 时效性不好,如果我上传了很多图片,后台需要下载到七牛,需要很长时间(因为我们这边用的是图片的url)
- 没有图片压缩
- 也是用微信
js-sdk
,然后由前端上传微信服务器,再下载下来,获得url,传给接口
缺点:跟第三张类似,慢
我试了下,用js-sdk
选择图片,然后用localResizeIMG
压缩图片并上传,但是localResizeIMG
好像不能用微信jssdk返回的当图片地址导致报错,不知道小伙伴们有没有更好的解决方案
七牛的js的sdk没有上传之前的压缩这个功能,需要你额外去开发。另外你说js的sdk有很对手机不兼容,是否有具体的机型,以及是否具体的报错信息?有的话麻烦提供下,另外可以去七牛的后台提交工单将问题反馈给七牛的技术支持工程师,这边边会积极帮你解答问题的。