/ @desc 图片验证码/
async getCodeFn(){
let [err,res] = await this.$http.post(getcodeApi)
console.log(res)
uni.request({
url: getcodeApi,
method: 'GET',
responseType: 'arraybuffer', //设置响应类型
success: res => {
//将 ArrayBuffer 对象转成 Base64 字符串
const arrayBuffer = new Uint8Array(res.data)
console.log(res,arrayBuffer)
const base64 = "data:image/png;base64,"+uni.arrayBufferToBase64(arrayBuffer)
console.log(base64)
this.codeImg=base64.replace(/[\r\n]/g, "");
},
fail: () => {},
});
}
- 发布:2020-12-07 11:38
- 更新:2020-12-07 11:38
- 阅读:612
产品分类: uniapp/H5
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: windows
HBuilderX类型: 正式
HBuilderX版本号: 2.9.8
浏览器平台: Chrome
浏览器版本: 87.0.4280.66
项目创建方式: HBuilderX
示例代码:
操作步骤:
直接掉后台接口,二进制转base64,h5图片验证码是一个方框
直接掉后台接口,二进制转base64,h5图片验证码是一个方框
预期结果:
h5图片验证码显示出来
h5图片验证码显示出来
实际结果:
h5图片验证码未显示出来,就一个方框
h5图片验证码未显示出来,就一个方框
bug描述:
uni-app h5开发,图片验证码后台返回的是个二进制流的 ,uni.arrayBufferToBase64转成base64后 图片就一个正方形框