base64图片转为本地图片:
getBase64Url: function() {
let that=this
var base64Data = '获取到的数据xxxxxx';
//通过微信小程序自带方法将base64转为二进制去除特殊符号,再转回base64
base64Data = wx.arrayBufferToBase64(wx.base64ToArrayBuffer(base64Data));
//拼接请求头,data格式可以为image/png或者image/jpeg等,看需求
const base64ImgUrl = "data:image/png;base64," + base64Data;
that.setData({
base64ImgUrl: base64ImgUrl
})
}
base64图片不能直接用wx.saveImageToPhotosAlbum保存:
saveZfb: function () {
let that = this
//获取文件管理器对象
const fs = wx.getFileSystemManager()
const Imgpath = wx.env.USER_DATA_PATH + '/qrcodeImg' + '.png'
let imageSrc = that.data.base64Data.replace(/^data:image\/\w+;base64,/, '')
//写入本地文件
fs.writeFile({
filePath: Imgpath,
data: imageSrc,
encoding: 'base64',
success(res) {
//保存到手机相册
wx.saveImageToPhotosAlbum({
filePath: Imgpath,
success(res) {
console.log(res)
wx.showToast({
title: '保存成功',
icon: 'success'
})
},
fail: function (err) {
console.log("失败",err)
}
})
}
})
},