微信小程序保存图片到本地

  1. 配置微信小程序 downloadFile合法域名 https格式;
    否则在微信开发者工具 及 真机调试中可以成功保存图片,但是在手机上测试会保存失败;

  2. 预览及真机调试,都可以正常下载图片,发布体验版就会报错
    发布体验版时关闭 详情 -> 本地设置 -> 不校验合法域名、webview(业务域名)、TSL版本及HTTPS证书

downLoadImg() {
    if(!this.data.imgUrl){
      console.log('图片获取失败,请稍后再试')
      return;
    }
    wx.showLoading({
      title: '加载中...',
    })
    //图片保存到本地
    wx.downloadFile({
      url: this.data.imgUrl,//图片地址
      success (downres) {
        // 保存图片到相册
        wx.saveImageToPhotosAlbum({
          filePath: downres.tempFilePath,
          success(res) {
            wx.hideLoading()
            console.log('保存成功')
          },
          fail(err){
            wx.hideLoading()
            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() {
                  wx.openSetting({
                    success(openres) {
                      console.log("openres", openres)
                      if (openres.authSetting['scope.writePhotosAlbum']) {
                        console.log('获取权限成功,再次点击图片即可保存')
                      } else {
                        console.log('获取权限失败,无法保存到相册哦~')
                      }
                    },
                    fail(failerr) {
                      console.log("failerr", failerr)
                    }
                  })
                }
              })
            }
          }
        })
      },
      fail() {
        wx.hideLoading()
        console.log('下载失败,请稍后再试')
      }
    })
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容