小程序保存图片的坑

时间:2020-02-25 11:11:38   收藏:0   阅读:95

 

 saveHB: function () {
    console.log(‘保存海报‘);
    // wx.navigateTo({
    //   url: ‘/pages/hualang/shengchenghb/taskCardPost‘,
    // })
      var that =this;
      wx.showLoading({
        title: ‘保存中...‘,
      })
      wx.downloadFile({
       url: that.data.iteminfo.framed_url,
        success: function (res) {
          wx.hideLoading()
           var imageFilePath = res.tempFilePath;
              if (imageFilePath!=‘‘) {
               wx.saveImageToPhotosAlbum({
               filePath: imageFilePath,
               success: function (data) {
               wx.showToast({
               title: "保存成功",
               })
             }, 
             fail: function (err) {
              if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg ==="saveImageToPhotosAlbum:fail authorize no response") {
                // 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用
                wx.showModal({
                  title: ‘提示‘,
                  content: ‘需要您授权保存相册‘,
                  showCancel: false,
                  success:modalSuccess=>{
                    wx.openSetting({
                      success(settingdata) {
                        console.log("settingdata", settingdata)
                        if (settingdata.authSetting[‘scope.writePhotosAlbum‘]) {
                          wx.showModal({
                            title: ‘提示‘,
                            content: ‘获取权限成功,再次点击图片即可保存‘,
                            showCancel: false,
                          })
                        } else {
                          wx.showModal({
                            title: ‘提示‘,
                            content: ‘获取权限失败,将无法保存到相册哦~‘,
                            showCancel: false,
                          })
                        }
                      },
                      fail(failData) {
                        console.log("failData",failData)
                      },
                      complete(finishData) {
                        console.log("finishData", finishData)
                      }
                    })
                  }
                })
              }
            },
            complete(res) {
              wx.hideLoading()
            }
       })
       }
     },
     
    })
  },

 

  上面的代码是解决权限问题的,还有一个坑就是真机调试是好的,体验版本保存不了,后来发现是图片路径的域名不合法。

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!