微信小程序开发交流qq群 173683895
承接微信小程序开发。扫码加微信。
在这之前试过把base64的图片转移保存到画布然后保存到手机,但是真机调试的时候不支持这种方式,希望各位不要再去汤坑
下面是可行的方法:
scene 是base64文件,打印结果如下:

不说废话,直接上代码:(结尾有代码说明)
var aa = wx.getFileSystemManager(); console.log('that.data.scene:', that.data.scene) aa.writeFile({ filePath:wx.env.USER_DATA_PATH+'/test.png', data: that.data.scene.slice(22), encoding:'base64', success: res = { wx.saveImageToPhotosAlbum({ filePath: wx.env.USER_DATA_PATH + '/test.png', success: function (res) { wx.showToast({ title: '保存成功', }) }, fail: function (err) { console.log(err) } }) console.log(res) }, fail: err = { console.log(err) } })代码解析:
wx.getFileSystemManager() 是获取文件管理器对象;
aa.writeFile 是写文件,详细参数可 点击查看 官方文档说明。
wx.env.USER_DATA_PATH+'/test.png' 这里是创建一个临时文件的文件名。
that.data.scene.slice(22) 这里是把 data:image/png;base64, 这一段去除,需要注意的是去除这一段之后 base64 编码之间放到image组件的src里面是不能显示图片的。
wx.saveImageToPhotosAlbum 是保存图片到相册
本文的base64文件的来源是小程序二维码,微信小程序生成小程序二维码流程博客地址点击跳转
writeFile 文档简要说明:














