微信JS-SDK使用chooseImage多选图片并上传方案总结
需求描述:
- 最近在H5项目中需要在上传图片时多选,但是由于在微信浏览器中上传多选时受微信系统、手机操作系统、手机品牌等因素的影响,导致部分手机在微信浏览器中并不能正常多选图片并上传。因此经过一天时间整理出使用微信JS-SDK来解决上述问题的方案,注意:本方法只能在微信浏览器中有效。
解决方案:
-
由于chooseImageAPI是微信JS封装的方法,导致了我们不能向input文件系统那样拿到我们想要的文件数据,所以,微信JS-SDK实现的文件上传只能采取方式(拿到图片localId => 然后通过uploadImage上传至微信服务器 => 然后拿到返回的服务器端文件Id通过多媒体接口(media_id)下载到本地 => 再处理拿到的文件数据再进行上传),当然本文使用的方法并不是这样,本文通过转化localId为图片数据,然后处理这些数据再进行上传。
-
这里关于获取微信SDK的openID等相关信息的细节不再赘述,只讲多选图片并上传的操作,具体实现如下: