工作当中,有时候会碰到后端由于存储方式等原因,返回给前端的图片的请求方式为POST,这个时候前端如果需要把图片显示在页面上,就要把图片流转换为图片:
post返回的图片流,在chrome的network preview时是一个正常图片,前端通过console.log打印的话就会是一串乱的编码,出现问题的原因的是前端请求默认返回的是 json 文本形式,二进制图片数据被强制转换成了 json 文本形式。我们只需要在前端请求配置,比如axios中配置responseType为blob
再然后:
// codeFile 接口返回结果
const blob = new Blob([codeFile])
const url = window.URL.createObjectURL(blob)
//在img上绑定url即可