小程序海报base64转图片保存本地分享

// 点击保存图片到本地图库分享朋友圈

  create(){

    let that = this;

    // console.log('that.data.baseImgUrl:', that.data.baseImgUrl)   //base64图片

    aa.writeFile({//xx.writeFile 将 ArrayBuffer 写为本地用户路径的二进制图片文件。

      filePath:wx.env.USER_DATA_PATH+'/share.png', //生成本地目录 以及命名

      data: that.data.baseImgUrl.slice(22), //截取data:image/png;base64,字段  若没有base的请求头可直接写base64图片地址

      encoding:'base64',//base64格式

      success: res => {

        console.log(res)

        wx.saveImageToPhotosAlbum({

          filePath: wx.env.USER_DATA_PATH + '/share.png',//保存到本地相册以及图片命名

          success: function (res) {

            wx.showToast({

              title: '保存成功',

            })

          },

          fail: function (err) {//失败吊起保存授权

            console.log(err)

            if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {//没有保存本地图片的授权

                wx.showModal({

                  title: '提示',

                  content: '需要您授权保存相册',

                  showCancel: false,

                  success(res1){

                    wx.openSetting({//打开本地授权

                      success(settingdata){

                        console.log('settingRes',settingRes);

                        if (settingdata.authSetting['scope.writePhotosAlbum']) {//获取到保存图片到本地的授权

                          wx.showModal({

                            title: '提示',

                            content: '获取权限成功,再次点击图片即可保存',

                            showCancel: false,

                          })

                        } else {

                          wx.showModal({

                            title: '提示',

                            content: '获取权限失败,将无法保存到相册哦~',

                            showCancel: false,

                          })

                        }

                      },

                      fail(error){

                        console.log("error",error)

                      },

                      complete(completeData){

                        console.log("completeData", completeData)

                      }

                    })

                  }

                })

            }

          },

          complete(res){

            wx.hideLoading();

          }

        })

        console.log(res)

      }

    })

  },

你可能感兴趣的:(小程序海报base64转图片保存本地分享)