小程序下载base64图片

这段代码展示了如何在微信小程序中检查用户权限,如果用户授权,则将base64格式的二维码图片保存到相册。如果用户未授权,会提示用户授权并处理授权后的操作。主要涉及的方法有getSetting、downloadFile、saveImageToPhotosAlbum。
摘要由CSDN通过智能技术生成
js:

saveImage() {

    const that = this;

    var qrcode = that.data.qrcode;//base64图片

    wx.getSetting({ //获取权限

      success(res) {

        if (res.authSetting["scope.writePhotosAlbum"]) {

          that.download(qrcode);

        } else {

          wx.showToast({
            title:'您没有授权,无法保存到相册',
            icon:'none'
          })
          wx.openSetting({
            success(res) {
              if (res.authSetting['scope.writePhotosAlbum']) {
                that.download(qrcode);
              }
              else {
                wx.authorize({
                  scope: 'scope.writePhotosAlbum',
                  success () {
                    that.download(qrcode);
                  }
                })
              }
            }
          })

        }

      }

    });

  },

  download(data) {

    const fileManager = wx.getFileSystemManager();

    const filePath =wx.env.USER_DATA_PATH +(this.data.serialNum ? "/lightId" + this.data.serialNum + ".png": "/share.png");

    //这块是定义图片的名称,可自定义其他

    let self=this;

    fileManager.writeFile({

      filePath: filePath,

      data: data.slice(22),

      encoding: "base64",

      success: res => {

        wx.saveImageToPhotosAlbum({

          filePath: filePath,

          success: function (res) {

            //保存成功

            util.showToast(self.data.txt.saveSuccess);

          },

          fail: function (err) {

             //保存失败

            util.showToast(self.data.txt.saveFail);

            console.log('downQrCode:',err);

          }

        });

      },

      fail: err => {

        util.showToast(self.data.txt.saveFail);

        console.log('downQrCode:',err);

      }

    });

  },

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值