前台需要展示图片,期望后台直接返回图片地址,但是后台给的是的文件流而不是一个图片地址,需要把文件流转为base64的格式展示出来。
1 请求参数设置responseType: 'arraybuffer'
getVerifyCode({
tel = '',
}) { // 获取图形验证码
return request({
url: 'test/xxx/xxx',
method: 'post',
data: data
responseType: 'arraybuffer'
})
},
<img :src="verifyImg" @click="getVerify" />
getVerify() {
inviteApi["getVerifyCode"]({
tel: this.tel
})
.then(res => {
const src =
"data:image/png;base64," +
btoa(
new Uint8Array(res.data).reduce(
(data, byte) => data + String.fromCharCode(byte),
""
)
);
this.verifyImg = src;
})
.catch(error => {
console.log(error);
});
},