uniapp app savevideotophotosalbum成功了但是相册没有是怎么回事?
我在uniapp中使用saveVideoToPhotosAlbum方法保存视频到相册,控制台显示保存成功了,但实际在手机相册里却找不到这个视频。请问这是什么原因?需要检查哪些地方?
2 回复
在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. 路径权限问题
- 确保路径可访问,避免沙盒限制。
建议步骤:
- 确认使用本地临时路径。
- 动态申请并授权相册权限。
- 检查控制台错误信息(
fail
回调)。 - 测试小文件MP4格式。
若问题持续,提供更多细节(如错误日志、手机型号)以便进一步排查。