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

微信小程序开发交流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  文档简要说明:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a_靖

对你有帮助吗?打赏鼓励一下?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值