在做登录验证码的时候,后端生成的验证码,通过图片流发送给前端,用平时直接src="url"的方法行不通,项目中请求接口又是封装好了。避免其他接口出现问题,而且这个用到次数不多,干脆自己重新写一个请求
uni.request({
url: '你请求的地址',
method: 'POST',
data:data,
header:header,//请求头
responseType: 'arraybuffer',//告诉服务器你希望得到的响应类型为arraybuffer(二进制数据)类型
success: res => {
let result = res.data;
//imgUrl就是我们所需要的数据
this.imgUrl = 'data:image/png;base64,' + btoa(new Uint8Array(datas).reduce((datas, byte) => datas + String.fromCharCode(byte), ''));
//微信小程序不支持btoa,所以可以用下面这个
// this.imgUrl = 'data:image/png;base64,'+uni.arrayBufferToBase64(datas);
},
});
这个时候在通过src="imgUrl"就能将图片正常展示出来了
得到如下效果
后续有新方法会持续更新~