一、接口返回二进制流内容
二、讲二进制流转换base64
axios({
url: '接口',
method: 'post', // post请求,get改为get
responseType: 'blob',
data: {
// 这是提交的参数,如果是get的就是 parmas
id: “xxx”,
},
headers: {
Authorization: ‘token值’,//根据需求要不要用
'Content-Type': 'multipart/form-data',
},
}).then((resp) => {
// let blob = new Blob([data]) // 返回的文件流数据
// let url = window.URL.createObjectURL(blob) // 将他转化为路径
// imageUrl.value = url // 将转换出来的路径赋值给变量,其实和上一步结合就可以
getBase64(resp.data).then((base64) => {
console.log('base64', base64)
})
})
转换base64方法
function getBase64(data) {
return new Promise((resolve, reject) => {
const blob = new Blob([data], { type: 'image/jpg' }) // 必须指定type类型
const reader = new FileReader()
reader.readAsDataURL(blob)
reader.onload = () => resolve(reader.result)
reader.onerror = (error) => reject(error)
})
}
三、完成