收藏
回答

使用wx.saveVideoToPhotosAlbum保存视频不了?

使用saveVideoToPhotosAlbum保存视频,在调试中可以保存到相册,但是上线之后保存不了,已经添加了合法域名

xinDownVideo(){
    const downloadTask = wx.downloadFile({
      urlthis.data.downUrl, 
      success (res) {
        wx.saveVideoToPhotosAlbum({
          filePath: res.tempFilePath,
          success(res) {
            wx.showToast({
              title'保存成功',
            })
          }
        })
      }
    })
    
    downloadTask.onProgressUpdate((res) => {
      wx.showLoading({
        title`下载进度` + res.progress + `%`,
      })
      if (res.progress == 100) {
        wx.showToast({
          title'下载成功',
        })
        wx.hideLoading()
      }
    })
    
  }


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

5 个回答

  • 社区技术运营专员-Jahozheng
    社区技术运营专员-Jahozheng
    2023-07-23

    调试看看有报错么

    在正式版打开调试还有一种方法,就是先在开发版或体验版打开调试,再切到正式版就能看到vConsole


    2023-07-23
    有用
    回复 6
    查看更多(1)
  • a'ゞ 渣渣辉吖
    a'ゞ 渣渣辉吖
    05-13

    你好,我使用的taro框架编写的小程序,测试和真机调试都没有问题。但是发布上线后就出现下载不了,显示未授权相册。但是我明明已经授权了相册。

    下载功能代码如下:

    const handleDownload = (urlVideo) => {
      setLoading(true);
      Taro.authorize({
        scope: 'scope.writePhotosAlbum',
        success() {
          // 用户已授权,可以进行下载和保存操作
          Taro.downloadFile({
            url: urlVideo,
            success: (res) => {
              console.log(res);
              if (res.statusCode === 200) {
                Taro.saveVideoToPhotosAlbum({
                  filePath: res.tempFilePath,
                  success: () => {
                    Taro.showToast({
                      title: '视频已保存到相册',
                      icon: 'success',
                      duration: 2000
                    });
                    setLoading(false);
                  },
                  fail: () => {
                    Taro.showToast({
                      title: '保存失败,请重试',
                      icon: 'none',
                      duration: 2000
                    });
                    setLoading(false);
                  }
                });
              }
            },
            fail: () => {
              Taro.showToast({
                title: '下载失败,请重试',
                icon: 'none',
                duration: 2000
              });
              setLoading(false);
            }
          });
        },
        fail() {
          // 用户未授权,可以在这里提示用户授权
    
          Taro.showToast({
            title: '需要相册权限,请授权后重试',
            icon: 'none',
            duration: 2000
          });
          setLoading(false);
        }
      });
    };
    


    05-13
    有用 1
    回复
  • loserStar
    loserStar
    2023-10-11
    你的代码是正确的,如果合法域名没添加的话,控制台会有明确提示。如果调用wx.saveVideoToPhotosAlbum没反应的话,呵呵,我被这坑了一下午,把开发工具清理缓存,代码重新编译就行了,估计是弹出的权限提示被你点了拒绝了
    
    2023-10-11
    有用 1
    回复 1
    • 
      01-26
      老哥,牛逼,搞定了
      01-26
      回复
  • 大熊
    大熊
    2023-07-24

    更新下用户隐私协议然后再试试呢

    2023-07-24
    有用
    回复
  • 那一抹笑😃 穿透阳光
    那一抹笑😃 穿透阳光
    2023-07-24

    你添加的合法域名,是请求域名,还是下载域名

    2023-07-24
    有用
    回复
登录 后发表内容