uniapp app savevideotophotosalbum成功了但是相册没有是怎么回事?

我在uniapp中使用saveVideoToPhotosAlbum方法保存视频到相册,控制台显示保存成功了,但实际在手机相册里却找不到这个视频。请问这是什么原因?需要检查哪些地方?

2 回复

可能是权限问题。检查是否已授权相册写入权限。安卓需动态申请,iOS需在manifest中配置。保存后相册可能不会立即刷新,重启手机或等待片刻即可。


在uni-app中,调用saveVideoToPhotosAlbum保存视频到相册时,API返回成功但相册中找不到视频,通常由以下原因导致:

1. 相册刷新延迟

  • 系统相册可能需要几秒到几分钟扫描新文件。
  • 解决方法:等待片刻或重启手机。

2. 文件路径问题

  • 确保路径为本地临时路径(如/tmp/),网络URL需先下载。
  • 示例代码
    uni.downloadFile({
      url: 'https://example.com/video.mp4',
      success: (res) => {
        if (res.statusCode === 200) {
          uni.saveVideoToPhotosAlbum({
            filePath: res.tempFilePath,
            success: () => uni.showToast({ title: '保存成功' }),
            fail: (err) => console.error('保存失败', err)
          });
        }
      }
    });
    

3. 权限未授权

  • Android需动态申请存储权限,iOS需在manifest.json配置相册权限。
  • 检查权限
    uni.authorize({
      scope: 'scope.writePhotosAlbum',
      success: () => { /* 保存操作 */ },
      fail: () => uni.showModal({ content: '需授权相册权限' })
    });
    

4. 文件格式或大小限制

  • 视频格式需为常见类型(如MP4),且文件过大可能导致失败。

5. 系统相册隐藏

  • 部分Android系统可能将视频归类到“其他相册”或隐藏文件夹。

6. 路径权限问题

  • 确保路径可访问,避免沙盒限制。

建议步骤:

  1. 确认使用本地临时路径。
  2. 动态申请并授权相册权限。
  3. 检查控制台错误信息(fail回调)。
  4. 测试小文件MP4格式。

若问题持续,提供更多细节(如错误日志、手机型号)以便进一步排查。

回到顶部