...
.then(was => {
wx.hideLoading()
console.log(was)/* */
var imagedata = JSON.parse(was.result.AdvancedInfo)
var base64image = imagedata.IdCard
t.setData({
Idbackimg: 'data:image/jpeg;base64,' + base64image
})
// 上传 对象存储 ⬇⬇⬇⬇⬇⬇???
})
// 上传 对象存储 ⬇⬇⬇⬇⬇⬇???
const arrayBuffer = wx.base64ToArrayBuffer(base64image)
cos.coskey.putObject({
Bucket: cos.Bucket,
Region: cos.Region,
Key: `ocr_temp/ceshi.jpg`,
StorageClass: 'STANDARD',
Body: arrayBuffer, // 上传文件对象
}, function (err, data) {
console.log('上传成功', err || data);
})
先base64解密,然后上传就行了
给你个思路,先将base64转换成图片,再上传
//把base64转换成图片
getBase64ImageUrl: (base64Url) {
/// 获取到base64Data
var base64Data = base64Url;
/// 通过微信小程序自带方法将base64转为二进制去除特殊符号,再转回base64
base64Data = wx.arrayBufferToBase64(wx.base64ToArrayBuffer(base64Data));
/// 拼接请求头,data格式可以为image/png或者image/jpeg等,看需求
const base64ImgUrl = "data:image/png;base64," + base64Data;
/// 得到的base64ImgUrl直接给图片:src使用即可
return base64ImgUrl;
},
具体详情参考这个文档
https://blog.csdn.net/i_am_a_div/article/details/120724547
再参考这个文档将图片上传到COS对象存储
https://www.freesion.com/article/3304213653/
思路可以是这样,base64作为预览使用,使用方法将base64还原成图片,将图片上传到cos,即使使用先传给后端,后端也是将base64转图片,将图片上传
1.base64通过文件系统转化成二进制文件 进行上传 如果需要我可以提供代码
把base64转换成String文件,然后上传