axios 后端返回流转成图片

6 篇文章 0 订阅
2 篇文章 0 订阅

axios请求返回流 转换成图片

<img :src="codesrc" @click="getImgCode" class='br_img'>
实现方法(从后端返回获取出后端需要参数 randomstr)
// async/await
async getImgCode() {
	const res = await axios.get(`/code?code=${new Date()}`, {
	    responseType: "arraybuffer"
	})
	const { headers: { randomstr = '' } } = res
	this.codesrc = 'data:image/png;base64,' + btoa(new Uint8Array(res.data).reduce((data, byte) => {   // btoa创建一个base-64编码的字符串
		return data + String.fromCharCode(byte)   // fromCharCode 可接受一个指定的Unicode,然后返回一个字符串
	}, ''))
}
getImgCode(){
	axios
	.get(`/code?code=${new Date()}`, {
		responseType: 'arraybuffer'
	})
	.then(response => {
		this.randomStr = response.headers.randomstr;
		return 'data:image/png;base64,' + btoa(
		new Uint8Array(response.data)
			.reduce((data, byte) => data + String.fromCharCode(byte), '')
		);
	}).then(data => {
		this.codesrc = data
	})
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值