后台返回一个链接地址imageUrl,需要我们用这个地址发送请求,然后返回arrayBuffer文件流,我们需要做的就是将buffer文件流转换成base64
1、小程序处理图形验证码(如果返回的是http的链接 const imageUrl =kaptcha.replace('http','https') 要这样处理一下)
wx.request({
url:imageUrl, //返回的链接地址(一定要是https的,http的不行)
responseType: 'arraybuffer',
method:'post',
header:{
'content-type': 'application/x-www-form-urlencoded',
'Origin': 'http://www.4pis.cn'
},
success(res){
let base64 = wx.arrayBufferToBase64(res.data)
_self.imgSrc ='data:image/png;base64,'+base64.replace(/[\r\n]/g, "")
}
})
2、h5处理图形验证码)
axios.get(url,{ responseType: "arraybuffer"}).then(res=>{let path = 'data:image/png;base64,' + btoa(new Uint8Array(res.data).reduce((data, byte) => data + String.fromCharCode(byte), ''))
_self.imageUrl = path
})