在img标签中有两种方法显示:
第一种:利用base64显示:
如果base64在img标签中不显示,说明里面需要加前缀 ('data:image/png;base64,'),如果加过还没有显示图片就是中间有空格或者换行的原因:
处理方式: let str = "data:image/png;base64," + base64
this.src = str.replace(/[\r\n]/g, '')
第二种:利用blob类型来进行显示:
首先先把二进制转成blob格式,当我们请求时候需要加上responseType:'blob',设置这个值能够改变响应类型。意思就是告诉服务器后端接口那边你要的响应格式。
值 | 数据类型 |
---|---|
‘’ | DOMString (这个是默认类型) |
arraybuffer | ArrayBuffer对象 |
blob | Blob对象 |
document | Document对象 |
json | JavaScript object, parsed from a JSON string returned by the server |
text | DOMString |
然后把响应出来的response中的blob对象进行处理 window.URL.createObjectURL(new Blob([response.blob对象])),结果出来是这种blob格式就可以直接赋值给img标签中的属性src就可以直接渲染出来了。