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

用户需要分享文件、保存图片、视频等用户文件时,开发者可以通过系统预置的 文件选择器(FilePicker) ,实现该能力。通过Picker访问相关文件,将拉起对应的应用,引导用户完成界面操作,接口本身无需申请权限。picker获取的uri只具有临时权限,获取持久化权限需要通过 FilePicker设置永久授权 方式获取。

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

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

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

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

选择图片或视频类文件

PhotoViewPicker 在后续版本不再演进,请使用 PhotoAccessHelper的PhotoViewPicker 来选择图片文件。

选择文档类文件

  1. 导入选择器模块和基础文件API模块。
import  { picker } from '@kit.CoreFileKit';
import { fileIo as fs } from '@kit.CoreFileKit';
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
  1. 创建文件类型、文件选择选项实例。
const documentSelectOptions = new picker.DocumentSelectOptions();
// 选择文档的最大数目(可选)
documentSelectOptions.maxSelectNumber = 5;
// 指定选择的文件或者目录路径(可选)
documentSelectOptions.defaultFilePathUri = "file://docs/storage/Users/currentUser/test";
// 选择文件的后缀类型,若选择项存在多个后缀名,则每一个后缀名之间用英文逗号进行分隔(可选),后缀类型名不能超过100
documentSelectOptions.fileSuffixFilters = ['.png', '.txt', '.mp4'];
//选择是否对指定文件或目录授权,true为授权,当为true时,defaultFilePathUri为必选参数,拉起文管授权界面;false为非授权,拉起常规文管界面(可选)
documentSelectOptions.authMode = true;
  1. 创建 文件选择器DocumentViewPicker 实例。调用 select() 接口拉起FilePicker应用界面进行文件选择。
let uris: Array<string> = [];
let context = getContext(this) as comm
### HarmonyOS 端云一体化开发概述 HarmonyOS 的端云一体化开发是一种支持云端协同的应用开发模式,旨在通过提供一系列云服务简化开发过程。这些服务包括但不限于云函数、云数据库以及云存储等功能[^1]。开发者可以利用此类工具专注于应用程序的核心业务逻辑设计,而无需过多考虑底层基础设施的具体细节。 #### 创建端云一体化项目的结构与方法 在实际操作过程中,构建一个完整的端云一体化项目通常涉及多个组成部分。具体来说,这类项目会被划分为三个主要部分: - **端开发工程 (Application)**: 负责处理客户端上的交互逻辑和界面展示等内容; - **云开发工程 (CloudProgram)**: 主要用于定义并管理运行于服务器端的各项功能模块; - **端侧公共库 (External Libraries)**: 提供共享资源以便两端能够无缝协作[^2]。 当准备启动一个新的基于此架构的应用程序时,可以通过特定的模板来快速搭建基础框架。例如,在设置新应用的过程中,“bundlename”的配置需保持一致性——即应匹配 AppGallery Connect 平台中的注册名称,从而确保本地环境能成功连接至远程服务[^3]。此外,官方还提供了详细的指导手册帮助用户顺利完成整个流程[^4]。 以下是访问华为开发者网站获取更多关于如何建立端云一体化项目的链接地址: [HarmonyOS NEXT API12最新版 端云一体化开发](https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/) ```python # 示例代码片段演示如何初始化一个基本的HarmonyOS端云一体化工件 def initialize_harmonyos_project(bundlename, agc_token=None): """ 初始化HarmonyOS端云一体化项目 参数: bundlename (str): 应用包名,必须与AGC平台一致 agc_token (str, optional): AGC认证令牌,默认为空 返回: dict: 包含初始化状态的结果字典 """ result = {"status": "success", "message": f"Project {bundlename} initialized."} if not validate_bundlename(bundlename): result["status"] = "failure" result["message"] = "Invalid bundle name." elif agc_token and not authenticate_with_agc(agc_token): result["status"] = "failure" result["message"] = "Failed to authenticate with AGC." return result def validate_bundlename(name): """验证bundle名字合法性""" pass # 实现省略... def authenticate_with_agc(token): """向AGC进行身份验证""" pass # 实现省略... ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值