HarmonyOS Next开发学习手册——用户文件

概述

用户文件:文件所有者为登录到该终端设备的用户,包括用户私有的 图片、视频 、音频、文档等。

  1. 用户文件存放在用户目录下,归属于该设备上登录的用户。

  2. 用户文件存储位置主要分为 内置存储 、 外置存储 。

  3. 应用对用户文件的创建、访问、删除等行为,需要提前获取用户授权,或由用户操作完成。

用户文件存储位置

内置存储

内置存储,是指用户文件存储在终端设备的内部存储设备(空间)上。内置存储设备无法被移除。内置存储的用户文件主要有:

  • 用户特有的文件:这部分文件归属于登录该设备的用户,不同用户登录后,仅可看到该用户自己的文件。

按照这些文件的特征/属性,以及用户/应用的使用习惯,可分为:

  • 图片/视频类媒体文件

所具有的特征包括拍摄时间、地点、旋转角度、文件宽高等信息,以媒体文件的形式存储在系统中,通常是以所有文件、相册的形式对外呈现,不会展示其在系统中存储的具体位置。

  • 音频类媒体文件

所具有的特征包括所属专辑、音频创作者、持续时间等信息,以媒体文件的形式存储在系统中,通常会以所有文件、专辑、作家等形式对外部呈现,不会展示其在系统中存储的具体位置。

  • 其他文件(统称为文档类文件)

以普通文件的形式存储在系统中,该类文件既包括普通的文本文件、压缩文件等,又包括以普通文件形式存储的图片/视频、音频文件,该类文件通常是以目录树的形式对外展示。

  • 多用户共享的文件:用户可以通过将文件放在共享文件区,实现多个用户之间文件的共享访问。

共享文件区的文件,也是以普通文件的形式存储在系统中,以目录树的形式对外展示。

外置存储

外置存储,是指用户文件存储在外置可插拔设备上(如SD卡、U盘等)。外置存储设备上的文件,和内置存储设备共享区文件一样,可以被所有登录到系统中的用户看到。

外置存储设备具备可插拔属性,因此系统提供了设备插拔事件的监听及挂载功能,用于管理外置存储设备,,该部分功能仅对系统应用开放。

外置存储设备上的文件,全部以普通文件的形式呈现,和内置存储设备上的文档类文件一样,采用目录树的形式对外展示。

uri介绍

用户文件uri是文件的唯一标识,在对用户文件进行访问与修改等操作时往往都会使用到uri,不建议开发者解析uri中的片段用于业务代码开发,不同类型的uri使用方式将在下文详细介绍。

uri的类型

uri类型可以归纳为文档类uri和媒体文件uri两类

  • 文档类uri:由picker拉起文件管理器选择或保存返回,以及通过fileAccess模块获取。具体获取方式参见 文档类uri获取方式 。
  • 媒体文件uri:由picker通过拉起图库选择图片或者视频返回,通过photoAccessHelper模块获取图片或者视频文件的uri,以及通过userFileManager模块获取图片、视频或者音频文件的uri。具体获取方式参见 媒体文件uri获取方式 。

文档类uri

文档类uri介绍

文档类uri的格式类型为:

‘file://docs/storage/Users/currentUser/<relative_path>/test.txt’

其中各个字段表示的含义为:

uri字段 说明
‘file://docs/storage/Users/currentUser/’ 文件管理器的根目录。
‘<relative_path>/’ 文件在根目录下的相对路径。例如:'Download/‘和’Documents/’。
‘test.txt’ 用户文件系统中存储的文件名,支持的文件类型为文件管理器支持的所有类型,以文件管理器为准,例如txt、jpg、mp4和mp3等格式的文件。

文档类uri获取方式

  1. 通过 DocumentViewPicker接口 选择或保存文件,返回选择或保存的文件uri。

  2. 通过 AudioViewPicker接口 选择或保存文件,返回选择或保存的文件uri。

  3. 通过 PhotoViewPicker.save接口 保存文件,返回保存的文件uri。

文档类uri的使用方式

normal等级的应用使用此类uri的方式只能通过 fs模块 进行进一步处理,其他模块使用此uri是会报没有权限的错误。示例代码参见picker中的 选择文档类文件 和 保存文档类文件 。

媒体文件uri

媒体文件uri介绍

媒体文件uri的格式类型为:

图片uri格式:

  • ‘file://media/Photo//IMG_datetime_0001/displayName.jpg’<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值