问题描述: 调用后端接口,直接返回的是二维码图片,打印显示为乱码,前端如何处理数据后显示到img标签中
解决:
1.先设置axios接收参数格式为"arraybuffer"。responseType: 'arraybuffer'
2.转换为base64格式图片数据在img标签显示
axios.get(url地址, { responseType: 'arraybuffer', headers: { 'Authorization':localStorage.getItem('access_token') || '' } }) .then(response => { return 'data:image/png;base64,' + btoa( new Uint8Array(response.data) .reduce((data, byte) => data + String.fromCharCode(byte), '') ); }).then(data => { this.qrcode = data })
然后把返回的数据放在img标签的src显示