微信小程序把base64的图片保存到手机相册

版权声明:本文为博主原创文章,未经博主允许不得转载。如需开发微信小程序可加微信: 13977284413 https://blog.csdn.net/qq_35713752/article/details/85624679

在这之前试过把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  文档简要说明:

猜你喜欢

转载自blog.csdn.net/qq_35713752/article/details/85624679