项目中要求生成动态的二维码图片,前端框架用的是vue axios接受后端传过来的stream数据,将其转换为图片,
代码如下:
axios.get( ".../user/v1/qrcode?param=..." , { responseType: "arraybuffer", }).then(res => { return 'data:image/png;base64,' + btoa( new Uint8Array(res.data) .reduce((data, byte) => data + String.fromCharCode(byte), '') ); }) .then(data => { $('#qrCode').attr('src', data); }) .catch(ex => { console.error(ex); });
注意:responseType必须是arrayBuffer啊,json是不行的