js-sdk选择图片、上传图片、下载到服务器、预览图片过程中出现的问题?
发布于 6 年前 作者 ozhu 11648 次浏览 来自 问答

提问目标:

请教并得到一套成熟的方案

提前说明:

__1__服务号

2引入http://res.wx.qq.com/open/js/jweixin-1.6.0.js

3多图上传

目前使用的方法:

1chooseImage得到localIds数组

2localIds数组元素循环调用uploadImage,得到serverIds数组

3serverIds数组元素循环调用获取临时素材接口(https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID),将图片下载到服务器,数据库保存图片链接;并图片服务器链接地址返回到H5页面加载出图片

4previewImage使图片服务器地址预览图片

几个问题:

1 最开始将chooseImage返回的localId直接给<img src=“”>,发现部分手机不显示图片,并且此时点击图片调用previewImage有部分手机出现闪退,这个地方是不是应该在chooseImage之后使用getLocalImgData的返回值并赋给<img src=“”>就能解决上述2个问题?

2 网上搜索有说,chooseImage之后使用getLocalImgData,之后可以直接用表单进行上传,此方法是否可行?

3 chooseImage使用时指定了原图和缩略图,有什么区别?获取临时素材接口得到的是哪个?文档没有找到相关内容

4 chooseImage有没有图片大小、格式要求,是否需要自行判断,文档没有找到相关内容

1 回复

问题1已解决,通过搜索和试验,基本得出结论:

1 <span style="font-size: 14px;">chooseImage返回的LocalId现在不能直接放到&lt;img src=""&gt;里面,需要转base64后再放到里面。</span>

这应该是个适配问题,最开始直接放的LocalId,IPHONE XR测试可正常显示,直到后来收到反馈才发现一些手机不显示,也通过侧面验证了这一点。

此处没有继续验证转base64后的情况,因为后面需要用previewImage

2 <span style="font-size: 14px;">previewImage预览图片只能用http图片链接,一切以文档为准</span><a href="https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html" rel="noopener noreferrer" style="font-size: 14px;" target="_blank">https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.previewImage.html</a>

此处特殊说明一下,最开始我是直接用的LocalId,<span style="font-size: 14px;">IPHONE XR测试可正常预览,后来收到反馈发现一些手机预览闪退</span>

问题3已解决,目前正在测试选择原图是否依然被压缩

问题4已解决:

https://developers.weixin.qq.com/community/develop/doc/000cc81a0346e09fbdda4a64151800

参考https://www.cnblogs.com/chenyoumei/p/12623930.html

回到顶部