收藏
回答

wx.saveImageToPhotosAlbum 有些手机执行 有些不执行

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug saveImageToPhotosAlbum 客户端 7.0.2 221

- 部分手机无法存图,ios 同一微信版本 7.0.2有的能存有的不能,不能存的 手机

success、fail、complate 回调都没数据。 而且查看权限设置没有 保存到相册的开关。


- 保存图片


- 复现路径


- 提供一个最简复现 Demo


正常的手机有保存到相册开关,不正常的手机只有使用我的用户信息这项。



最后一次编辑于  01-21
回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员-灵芝
    社区技术运营专员-灵芝
    01-21

    麻烦提供出现问题的机型和微信版本,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    01-21
    赞同
    回复 5
    • 1234
      1234
      01-21
      getsharepic: function (e) {
        
        var that = this
        that.setData({
          showfenxiang: false,
          showfenxiang_pic: true,
          showbaocunbutton: false
        })
        
        wx.showLoading({
          title: '海报生成中...',
        })
        
        wx.request({
          url: app.globalData.bastUrl + 'api/xcxv1/share/',
          data: {
            openid: wx.getStorageSync('openid'),
            hdid: that.data.huodong_info.id,
            tuid: wx.getStorageSync('tuid'),
          },
          header: {
            'content-type': 'application/json' // 默认值
          },
          success: function (res) {
            wx.downloadFile({
              url: res.data.data.share_pic,
              success(res) {
                wx.hideLoading()
                if (res.statusCode === 200) {
                  that.setData({
                    share_pic: res.tempFilePath,
                    showbaocunbutton: true
                  })
                }
              }
            })
        
        
        
          }
        })
      },
        
      savetoalbum: function (e) {
        var that = this
        var imgSrc = that.data.share_pic
        
        //图片保存到本地
        wx.saveImageToPhotosAlbum({
          filePath: imgSrc,
          success: function (data) {
            wx.showToast({
              title: '保存到相册成功,可以分享了。',
              icon: 'none',
              duration: 2000
            })
            that.hideall()
          },
          fail: function (err) {
            console.log(err);
            if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
              console.log("当初用户拒绝,再次发起授权")
              wx.showToast({
                title: '您拒绝了保存到相册的权限,请到我的栏目中的微信权限设置中打开。',
                icon: 'none',
                duration: 2000
              })
            }
          },
          complete(res) {
            console.log(res);
          }
        })
      },

      老师你好,苹果6s  \ 7plus   微信版本 7.0.2 。现在开发工具上正常,点击保存就让下载,生成二维码,手机扫描点击没有反应,开启调试也看不到 console.log 的显示。

      01-21
      回复
    • 社区技术运营专员-灵芝
      社区技术运营专员-灵芝
      01-22回复1234

      麻烦提供这种格式的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

      01-22
      回复
    • 1234
      1234
      01-22回复社区技术运营专员-灵芝

      老师十分感谢,问题找到了,  出问题这一版本是我没有更新 开发工具,昨天把开发工具更新了以后再编译出来的小程序,问题都解决了。 之前那些部分可用的手机应该是继承了之前的权限,有问题的手机都是删除了小程序然后新安装了老开发工具编译出来的版本。  十分感谢

      01-22
      回复
    • 1234
      1234
      01-22回复社区技术运营专员-灵芝

      老师十分感谢,问题找到了,  出问题这一版本是我没有更新 开发工具,昨天把开发工具更新了以后再编译出来的小程序,问题都解决了。 之前那些部分可用的手机应该是继承了之前的权限,有问题的手机都是删除了小程序然后新安装了老开发工具编译出来的版本。  十分感谢

      01-22
      回复
    • 社区技术运营专员-灵芝
      社区技术运营专员-灵芝
      01-22回复1234

      老师不敢当。。。解决了就好

      01-22
      回复
  • 1234
    1234
    01-21
    getsharepic: function (e) {
     
      var that = this
      that.setData({
        showfenxiang: false,
        showfenxiang_pic: true,
        showbaocunbutton: false
      })
     
      wx.showLoading({
        title: '海报生成中...',
      })
     
      wx.request({
        url: app.globalData.bastUrl + 'api/xcxv1/share/',
        data: {
          openid: wx.getStorageSync('openid'),
          hdid: that.data.huodong_info.id,
          tuid: wx.getStorageSync('tuid'),
        },
        header: {
          'content-type': 'application/json' // 默认值
        },
        success: function (res) {
          wx.downloadFile({
            url: res.data.data.share_pic,
            success(res) {
              wx.hideLoading()
              if (res.statusCode === 200) {
                that.setData({
                  share_pic: res.tempFilePath,
                  showbaocunbutton: true
                })
              }
            }
          })
     
     
     
        }
      })
    },
     
    savetoalbum: function (e) {
      var that = this
      var imgSrc = that.data.share_pic
     
      //图片保存到本地
      wx.saveImageToPhotosAlbum({
        filePath: imgSrc,
        success: function (data) {
          wx.showToast({
            title: '保存到相册成功,可以分享了。',
            icon: 'none',
            duration: 2000
          })
          that.hideall()
        },
        fail: function (err) {
          console.log(err);
          if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny") {
            console.log("当初用户拒绝,再次发起授权")
            wx.showToast({
              title: '您拒绝了保存到相册的权限,请到我的栏目中的微信权限设置中打开。',
              icon: 'none',
              duration: 2000
            })
          }
        },
        complete(res) {
          console.log(res);
        }
      })
    },



    老师你好,苹果6s  \ 7plus   微信版本 7.0.2 。现在开发工具上正常,点击保存就让下载,生成二维码,手机扫描点击没有反应,开启调试也看不到 console.log 的显示。

    01-21
    赞同
    回复