PS 使用Taro框架和TaroUI
今天调用后端给我的下载图片的接口,我获得了这串东东。
没见过世面的我,立即去百度,给我的结果是需要我调用一些小程序没有的对象。
但是,我得到了一个很有用的信息:确定是个JPEG文件的二进制流,而不是base64。这个内容,我之前没有接触过。
在网上寻找解决方案的时候,得知那串乱码是arrayBuffer,所以我在发送请求的时候把默认responseType更换成arraybuffer
然后调用Taro/微信小程序本身的接口:将 ArrayBuffer 数据转成 Base64 字符串。
Taro.arrayBufferToBase64(buffer)
并在这个值前添加data:image/png;base64,
,某尾处的【逗号】不可以缺少。
imageUrl= 'data:image/png;base64,'+Taro.arrayBufferToBase64(res1.data)
最后就是展示图片惹,随便写一下。
<Image src={imageUrl}/>
虽然最后后台大哥还是帮我把图片数据转成url的形式传给我了,不用这么麻烦的把乱码传来传去,但是解决的过程还是挺有意思的,虽然心底默默臭骂大哥为什么早点不给我url。