做图形验证码时 后端给的是文件流
我们很多时候的从后端获取图片时,直接拿到的url 操作如下
<img src="result.data" />
然而有时候拿到的是文件流
需要自己转换
1.修改参数responseType:“arraybuffer”
- axios修改方式
export function captcha (params) {
return request({
url:'/account/captcha',
method:'get',
responseType:"arraybuffer",
params
})
}
- xhr 修改方式
xhr.responseType = 'arraybuffer'
- 调用接口返回数据处理
captcha('tt='+(new Date()).getTime()).then(res => {
console.log(res);
//主要代码以下两行
const blob = new Blob([res], { type: 'imageType' })
const imageUrl = (window.URL || window.webkitURL).createObjectURL(blob)
this.codeImgSrc = imageUrl;
}).catch(err => {
console.log(err);
})
- template处理方式
<img :src="codeImgSrc"/>
参考链接:链接1