1. 后端返回的二进制流图片
2. 处理二进制流图片显示代码
设置请求方式,
responseType: 'arraybuffer'
通过new Uint8Array(res.data)
获取格式化后的图片
通过拼接生成base64
的图片数据
- html显示
<img v-if="userPhoto" :src="userPhoto" alt="">
- uni.request 请求获取二进制流图片
uni.request({
url: config.baseUrl + config.api_attachmentFile,//url地址
method: 'GET',
responseType: 'arraybuffer',
data: {
fileId: this.user.photo,
wxToken: uni.getStorageSync('wx_token') || store.state.wx_token,
},
header: {
'Content-Type': 'application/json',
'wxToken': uni.getStorageSync('wx_token') || store.state.wx_token,
},
success: res => {
const arrayBuffer = new Uint8Array(res.data)
const base64 = "data:image/png;base64," + uni.arrayBufferToBase64(arrayBuffer) //这里需要添加前缀
this.userPhoto = base64 || ''
}
});