小程序保存图片的坑

Posted 跌倒不要紧,要紧的是赶快爬起来。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序保存图片的坑相关的知识,希望对你有一定的参考价值。

 

 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()
            }
       })
       }
     },
     
    })
  },

 

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

 

以上是关于小程序保存图片的坑的主要内容,如果未能解决你的问题,请参考以下文章

小程序 图片转base64然后上传的坑点

微信小程序的坑坑

小程序各种功能代码片段整理---持续更新

根据图片的url地址下载图片到本地保存代码片段

微信小程序保存图片的方法

微信简历小程序保存图片