HarmonyOS 鸿蒙Next关于沙箱视频拷贝到用户相册的问题

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next关于沙箱视频拷贝到用户相册的问题

如何将下载到沙箱的视频复制一份到用户相册,是否只能下载完成后用fs读出来再通过photoAccessHelper.getPhotoAccessHelper的createAsset写入?

最好能提供个demo

2 回复

可以使用createVideoAssetRequest来做:

async function example() {
  console.info('createVideoAssetRequestDemo');
  try {
    // 需要确保fileUri对应的资源存在
    let fileUri = 'file://com.example.temptest/data/storage/el2/base/haps/entry/files/test.mp4';
    let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createVideoAssetRequest(context, fileUri);
    await phAccessHelper.applyChanges(assetChangeRequest);
    console.info('apply createVideoAssetRequest successfully');
  } catch (err) {
    console.error(`createVideoAssetRequestDemo failed with error: ${err.code}, ${err.message}`);
  }
} 

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-photoaccesshelper-V13#createvideoassetrequest11

针对HarmonyOS 鸿蒙Next关于沙箱视频拷贝到用户相册的问题,以下是一些解决方案:

  1. 使用PhotoAccessHelper

    • 鸿蒙系统建议使用PhotoAccessHelper类来管理相册中的媒体文件。
    • 通过PhotoAccessHelper的createVideoAssetRequest方法,可以创建视频资源请求,并将沙箱中的视频文件添加到相册。
  2. 确保权限申请

    • 应用需要确保已正确申请并获得了ohos.permission.WRITE_IMAGEVIDEO和ohos.permission.READ_IMAGEVIDEO权限,这些权限是写入和读取相册所必需的。
  3. 文件路径验证

    • 确保下载的视频文件位于应用的沙箱路径内,或者应用有足够的权限访问该文件。
    • 如果文件位于外部存储,可能需要额外的权限或使用文件选择器来获取用户授权。
  4. 错误处理

    • 在文件移动或拷贝过程中,应捕获并处理可能出现的错误,确保用户体验。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部