Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
d60162b5
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
d60162b5
编写于
12月 06, 2022
作者:
Z
zengyawen
提交者:
Gitee
12月 06, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
MD规范修改
Signed-off-by:
N
zengyawen
<
zengyawen1@huawei.com
>
上级
8fabe233
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
28 addition
and
28 deletion
+28
-28
zh-cn/application-dev/file-management/file-access-framework-overview.md
...ion-dev/file-management/file-access-framework-overview.md
+28
-28
未找到文件。
zh-cn/application-dev/file-management/file-access-framework-overview.md
浏览文件 @
d60162b5
# 用户公共文件访问框架概述
# 用户公共文件访问框架概述
在搭载 OpenHarmony3.2 (API 9) 及更高版本的设备上,应用可以基于FileAccessFramework(FAF) 对本地公共文件、分布式设备文件、外部存储设备文件、多用户共享文件进行访问。
在搭载OpenHarmony 3.2 (API 9)及更高版本的设备上,应用可以基于FileAccessFramework(简称为FAF)对本地公共文件、分布式设备文件、外部存储设备文件、多用户共享文件进行访问。
出于对用户数据的隐私安全考虑,目前此框架仅支持用户通过
**文件管理器**
和
**文件选择器**
对文件访问服务端进行操作,包括创建、打开、删除、重命名、移动等。
出于对用户数据的隐私安全考虑,目前此框架仅支持用户通过
**文件管理器**
和
**文件选择器**
对文件访问服务端进行操作,包括创建、打开、删除、重命名、移动等。
应用卸载,不会影响到用户数据,实际用户数据仍保留在对应设备中。
应用卸载,不会影响到用户数据,实际用户数据仍保留在对应设备中。
其它系统应用如需要访问本地公共文件,请参考使用媒体库接口。
其它系统应用如需要访问本地公共文件,请参考使用
[
媒体库接口
](
medialibrary-filepath-guidelines.md
)
。
> **注意:**
> **注意:**
> 1:如果应用是系统非管理类应用,比如:系统图库,请优先考虑直接使用媒体库接口,媒体库接口提供了一系列直接操作文件的接口。
> 1:如果应用是系统非管理类应用,比如:系统图库,请优先考虑直接使用媒体库接口,媒体库接口提供了一系列直接操作文件的接口。
> 2:FAF 接口与媒体库接口原则上不能混用。
> 2:FAF 接口与媒体库接口原则上不能混用。
## FileAccessFramework机制介绍
## FileAccessFramework机制介绍
FAF 依托于 OpenHarmony 上
[
ExtensionAbility机制
](
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/application-models/extensionability-overview.md
)
,实现了一套对外提供能力的统一接口。应用可以通过这套接口预览和操作公共文件,从而实现自己的逻辑。有兴趣的开发者,可以预览我们的
[
源码仓
](
https://gitee.com/openharmony/filemanagement_user_file_service
)
,提出您宝贵的意见。
FAF依托于OpenHarmony上
[
ExtensionAbility机制
](
../application-models/extensionability-overview.md
)
,实现了一套对外提供能力的统一接口。应用可以通过这套接口预览和操作公共文件,实现自己的逻辑。
有兴趣的开发者,可以预览我们的
[
源码仓
](
https://gitee.com/openharmony/filemanagement_user_file_service
)
,提出您宝贵的意见。
基于FAF进行文件操作的全流程,包含以下几个元素,如图所示:
基于 FAF 进行文件操作的全流程,包含以下几个元素, 如图所示:
**图1 公共文件操作层次图**
<div>
<left>
<img
src=
"figures/公共文件操作层次图.png"
>
<p>
图片1:公共文件操作层次图
</p>
</left>
</div>
*
**文件访问客户端应用**
- 需要访问或操作公共文件的应用。通过拉起文件选择器,用户可以在可视化界面上进行文件操作。

*
**文件选择器应用**
- 可以让用户访问所有共享数据集的系统应用。通过使用 FAF 的对上接口,完成各种文件操作。
*
**文件访问服务端应用**
- 系统内支持将数据集进行共享的服务。目前有
[
UserFileManager
](
https://gitee.com/openharmony/multimedia_medialibrary_standard
)
、ExternalFileManager等。前者管理了本地磁盘、分布式设备的数据集,后者管理了SD卡、U盘等多种外置存储设备的数据集。开发者也可以基于 FAF 的服务端配置,共享自己的数据集。
-
**文件访问客户端应用**
- 需要访问或操作公共文件的应用。通过拉起文件选择器,用户可以在可视化界面上进行文件操作。
-
**文件选择器应用**
- 可以让用户访问所有共享数据集的系统应用。通过使用 FAF 的对上接口,完成各种文件操作。
-
**文件访问服务端应用**
- 系统内支持将数据集进行共享的服务。目前有
[
UserFileManager
](
https://gitee.com/openharmony/multimedia_medialibrary_standard
)
、ExternalFileManager等。前者管理了本地磁盘、分布式设备的数据集,后者管理了SD卡、U盘等多种外置存储设备的数据集。开发者也可以基于 FAF 的服务端配置,共享自己的数据集。
FAF提供的主要功能:
FAF提供的主要功能:
*
可以让用户浏览系统内所有文件服务端应用提供的数据集,而不仅仅是单一应用的数据集。
-
可以让用户浏览系统内所有文件服务端应用提供的数据集,而不仅仅是单一应用的数据集。
*
客户端应用不需要获取 FAF
的使用权限,直接通过选择器应用操作文件。
-
客户端应用不需要获取FAF
的使用权限,直接通过选择器应用操作文件。
*
支持访问多个临时挂载的设备,比如外置存储卡、分布式设备等。
-
支持访问多个临时挂载的设备,比如外置存储卡、分布式设备等。
## 数据模型
## 数据模型
FAF 中数据模型主要通过URI、FileInfo、RootInfo 进行传递。详情参考
[
fileExtension
](
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-fileExtensionInfo.md
)
。文件访问服务端应用可以通过 FileAccessExtensionAbility API,将自身的数据安全的共享出去。
FAF 中数据模型主要通过URI、FileInfo、RootInfo 进行传递。详情参考
[
fileExtension
](
../reference/apis/js-apis-fileExtensionInfo.md
)
。文件访问服务端应用可以通过 FileAccessExtensionAbility API,将自身的数据安全的共享出去。
<div>
**图2 公共文件访问框架数据流**
<left>
<img
src=
"figures/公共文件访问框架数据流.png"
>

<p>
图片2:公共文件访问框架数据流
</p>
</left>
注意事项:
</div>
-
在FAF中,文件访问客户端和文件访问服务端并不直接交互。只需要具备拉起文件选择器应用的权限即可。
-
文件选择器应用会为用户提供标准的文档访问界面,即使底层的文件访问服务端相互之间差异很大,一致性也不受影响。
请注意以下几点:
\ No newline at end of file
*
在 FAF 中,文件访问客户端和文件访问服务端并不直接交互。只需要具备拉起文件选择器应用的权限即可。
*
文件选择器应用会为用户提供标准的文档访问界面,即使底层的文件访问服务端相互之间差异很大,一致性也不受影响。
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录