uni-app 安卓11版本保存视频到相册提示保存成功但相册里没有视频
uni-app 安卓11版本保存视频到相册提示保存成功但相册里没有视频
类别 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC开发环境版本 | win10 |
HBuilderX类型 | Alpha |
HBuilderX版本 | 3.1.6 |
手机系统 | Android |
手机系统版本 | Android 11 |
手机厂商 | vivo |
手机机型 | vivox9 |
页面类型 | nvue |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
- https://ask.dcloud.net.cn/question/112970
- 有出现这个帖子的问题
预期结果:
- 修复好
实际结果:
- 修复好
bug描述:
- https://ask.dcloud.net.cn/question/112970
- 有出现这个帖子的问题
更多关于uni-app 安卓11版本保存视频到相册提示保存成功但相册里没有视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
我遇到过保存相册失败的原因是,下载时缓存文件的文件名出现了一些不合理的字符,而且文件没有扩展名,这个你直接用console.log打印出缓存文件的路径就可以看到
plus.downloader下载,强制设置一个文件名,例如_doc/123.mp4,下载后把这个文件转存相册就可以
这个问题好久了,我也无法确定是不是bug,但用自己命名文件是可以解决的
更多关于uni-app 安卓11版本保存视频到相册提示保存成功但相册里没有视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html
@DCloud_Android_ST @DCloud_heavensoft
你看看我描述的这个对不对
示例DEMO提供下
针对Android 11系统下视频保存到相册无实际文件的问题,这是由Android 11的文件权限策略变更导致的。需要适配分区存储(Scoped Storage)机制。
解决方案:
- 在
manifest.json
中配置Android权限:
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
]
}
- 使用
uni.saveVideoToPhotosAlbum
时,需要先确保已获取存储权限:
// 检查并申请权限
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
uni.saveVideoToPhotosAlbum({
filePath: 'your_video_path',
success: () => {
uni.showToast({ title: '保存成功' });
}
});
}
});
- 对于Android 10+设备,建议将文件保存到公共目录:
// 使用DCIM目录
const filePath = `${plus.io.PUBLIC_DOCUMENTS}/Movies/your_video.mp4`;