HarmonyOS 鸿蒙Next 如何在沙箱中读取图片视频一类的文件

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

HarmonyOS 鸿蒙Next 如何在沙箱中读取图片视频一类的文件 大佬们,如何在沙箱中读取图片视频一类的文件,展示在页面上

3 回复
  1. 使用fs.listFileSync接口获取某个文件夹下的所有文件,若只需获取图片/视频类文件,可以传入第二个参数,根据后缀名过滤。示例如下:
@State imagePathList: string[] = [];

getFileDir() {
  let context = getContext(this) as common.UIAbilityContext;
  let fileDir: string = context.filesDir;
  // 根据后缀过滤,可根据实际需求传参
  let fileArray = fs.listFilesSync(fileDir, { filter: { suffix: ['jpg', '.mp4'] } });
  fileArray.forEach((fileStr: string) => {
    let filePath = fileDir + `${fileStr}`;
    // 获取到所有文件的path,继续展示逻辑
    imagePathList.push(filePath)
  })
}

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-file-fs-V13#fslistfilesync

  1. 使用Image组件展示图片类文件。注意Image组件不能直接传入应用沙箱路径,需要传入应用沙箱uri。可以调用fileUri.getUriFromPath方法将沙箱路径转化为沙箱uri,传入之后即可正常显示沙箱图片。

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-154-V5

  1. 使用Video组件展示视频类文件,同Image,需要path转uri才能展示。

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-common-components-video-player-V5#加载沙箱路径视频

  1. 页面布局根据需要自己设计,可以用List展示,注意性能优化

更多关于HarmonyOS 鸿蒙Next 如何在沙箱中读取图片视频一类的文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


要获取沙箱目录中的全部图片

在HarmonyOS鸿蒙Next系统中,要在沙箱中读取图片、视频等文件,你可以通过以下步骤实现,这些步骤基于鸿蒙系统的文件访问权限管理和API使用:

  1. 申请权限:首先,确保你的应用已在manifest.json文件中声明了必要的文件访问权限,如ohos.permission.READ_MEDIA等,具体权限根据你的需求而定。

  2. 使用Storage Access Framework (SAF):鸿蒙系统提供了类似Android的SAF机制,允许应用以安全的方式访问用户存储中的文件。你可以通过调用系统提供的API来请求用户授权访问特定类型的文件(如图片、视频)。

  3. 文件访问:一旦获得用户授权,你可以使用鸿蒙提供的文件访问API来读取沙箱内的文件。这些API通常封装在ohos.multimediaohos.fileio等模块中。

  4. 处理文件:读取到文件后,你可以使用鸿蒙的多媒体处理API对图片、视频进行解码、显示或进一步处理。

请注意,由于鸿蒙系统的不断更新和API的迭代,具体实现细节可能会有所变化。建议查阅最新的鸿蒙开发者文档以获取最准确的信息。

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

回到顶部