小程序 wx.arrayBufferToBase64() 显示不了二进制图片

小程序 wx.arrayBufferToBase64() 显示不了二进制图片,第1张

 使用微信小程序  wx.request接受服务端的图片,转成base64 ,放在页面上不显示

 wx.request  默认返回数据类型是json,会把二进制转化成string,再转base64,当然没有结果。

wx.request  设置 responseType: 'arraybuffer',

另外还一个问题就是真机小程序中不支持 new TextDecoder()对象,函数,解决办法:

以上两个问题都是微信开发者工具与真机环境不一致的锅。

参考文章:

Uint8Array 拷贝 *** 作的坑(buffer)

ie,TextDecoder.decode()函数不可用,fromCharCode输出中文乱码问题

在微信小程序的网络请求图片文件中,返回的图片并不是我们想象中放上去就可以显示的,返回回来的是一组二进制数据,我们需要base64转换后方可使用,下面总结一下请求图片文件数据的正常流程:

我们平常的本地图片或网络图片只需要如下即可显示:

而图片文件则是要如下处理(固定格式):

请求类型需要设置为 arraybuffer, 后面接收到的data要使用base64处理成可显示的形式


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11545550.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存