写点什么

怎么把文件存到公共目录,在文件管理可以查看呢?

  • 2026-02-16
    北京
  • 本文字数:626 字

    阅读完需:约 2 分钟

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

问题描述:

目前文件存储都是根据 context 的 cacheDir 目录存在应用沙箱,怎么存到公共目录,在文件管理可以查看呢?文件管理无法访问其他应用的应用沙箱,现在文件保存了但无法查看。

解决方案:

可以使用 FilePicker 来实现文件保存到系统文件管理器管理的特定目录。对音频、图片、视频、文档类文件的保存操作类似,均通过调用对应 Picker 的 save()接口并传入对应的 saveOptions 来实现。通过 Picker 访问相关文件,无需申请权限。

根据用户文件的常见类型,选择器(FilePicker)分别提供以下选项:

  • PhotoViewPicker:适用于图片或视频类型文件的选择与保存(该接口在后续版本不再演进)。请使用安全控件创建媒体资源

  • DocumentViewPicker:适用于文件类型文件的选择与保存。DocumentViewPicker 对接的选择资源来自于 FilePicker, 负责文件类型的资源管理,文件类型不区分后缀,比如浏览器下载的图片、文档等,都属于文件类型。

  • AudioViewPicker:适用于音频类型文件的选择与保存。AudioViewPicker 目前对接的选择资源来自于 FilePicker。

参考文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5

问题处理思路:

可以先通过 picker 获取到要选择或者保存文件的公共路径,然后通过 fs.copyFile 进行文件复制。

核心示例代码和其他解决方案相关的讨论,请点击原帖查看:

怎么把文件存到文件app可以访问的路径-华为开发者问答 | 华为开发者联盟 (huawei.com)