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

操作步骤:

预期结果:

  • 修复好

实际结果:

  • 修复好

bug描述:


更多关于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)机制。

解决方案:

  1. manifest.json中配置Android权限:
"android": {
  "permissions": [
    "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
  ]
}
  1. 使用uni.saveVideoToPhotosAlbum时,需要先确保已获取存储权限:
// 检查并申请权限
uni.authorize({
  scope: 'scope.writePhotosAlbum',
  success() {
    uni.saveVideoToPhotosAlbum({
      filePath: 'your_video_path',
      success: () => {
        uni.showToast({ title: '保存成功' });
      }
    });
  }
});
  1. 对于Android 10+设备,建议将文件保存到公共目录:
// 使用DCIM目录
const filePath = `${plus.io.PUBLIC_DOCUMENTS}/Movies/your_video.mp4`;
回到顶部