收藏
回答

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

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

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

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


- 保存图片


- 复现路径


- 提供一个最简复现 Demo


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



回答关注问题邀请回答
收藏

2 个回答

  • 赵飞
    赵飞
    2019-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 的显示。

    2019-01-21
    有用
    回复
  • 灵芝
    灵芝
    2019-01-21

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

    2019-01-21
    有用
    回复 5
    • 赵飞
      赵飞
      2019-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 的显示。

      2019-01-21
      回复
    • 灵芝
      灵芝
      2019-01-22回复赵飞

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

      2019-01-22
      回复
    • 赵飞
      赵飞
      2019-01-22回复灵芝

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

      2019-01-22
      回复
    • 赵飞
      赵飞
      2019-01-22回复灵芝

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

      2019-01-22
      回复
    • 灵芝
      灵芝
      2019-01-22回复赵飞

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

      2019-01-22
      回复
登录 后发表内容