微信 JS-SDK: iOS 不能正确显示 wx.chooseImage() 调用的本机图片(或拍照)解决办法
H5项目用到微信JS-SDK拍照预览上传功能。
按 官方文档 思路实现,调用 wx.chooseImage()
测试阶段得到反馈安卓功能正常,iOS选择或拍照后不能显示预览图
解决办法也在同一份文档下,针对iOS机型额外做 wx.getLocalImgData()
即可以解决,并不难。
网上查资料绕了一下弯路,发现网络流传的资料不少有误。备忘一下,以防下次再次遇到。
H5项目用到微信JS-SDK拍照预览上传功能。
按 官方文档 思路实现,调用 wx.chooseImage()
测试阶段得到反馈安卓功能正常,iOS选择或拍照后不能显示预览图
解决办法也在同一份文档下,针对iOS机型额外做 wx.getLocalImgData()
即可以解决,并不难。
网上查资料绕了一下弯路,发现网络流传的资料不少有误。备忘一下,以防下次再次遇到。
用chrome从甲方提供的网页上保存了一批图片素材用于制作H5活动页。发布后反馈iOS上部分图片不显示,自己测试确实如此,找微信客服也抓头没办法解决只给了一些常规套路让我检查是不是文件太大,路径有中文、文件名大小写之类的问题。
最离谱的是 图片url直接在微信里也是打不开的,用图像处理软件处理过(tinypng压缩)也还是不显示。但是在安卓和PC端的开发工具上显示则正常。
情况实在太诡异,最后用文本工具直接打开图片,看到头部 RIFF ... WEBPVP8
!!! 恍然大悟
Chrome保存的时候帮我转换成了 webp?!
试试直接在 Safari 里打开有问题的素材url ,果然是iOS自身不支持webp,也不能显示。
解决办法无他,webp-> jpeg/png 替换掉原素材,完事!