如何使用第三方库中的picker_utils (API12) PickerUtil类
1. 安装依赖
ohpm i @pura/picker_utils
-
版本建议:安装时可通过
ohpm i @pura/picker_utils@latest
获取最新稳定版本 -
依赖说明:本库封装了系统原生多媒体选择能力,无需额外配置底层硬件接口
2.在使用的页面导入模块
import { CameraOptions, PickerUtil } from '@pura/picker_utils';
import { image } from '@kit.ImageKit';
import { camera, cameraPicker } from '@kit.CameraKit';
import { BusinessError } from '@kit.BasicServicesKit';
-
关键模块:
-
CameraOptions
:相机参数配置接口 -
PickerUtil
:核心工具类,提供多媒体选择方法 -
BusinessError
:统一错误处理对象
-
3.拍照(需要有拍照权限)
let options: CameraOptions = {
mediaTypes: [cameraPicker.PickerMediaType.PHOTO],
cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK
}
PickerUtil.camera(options).then((result) => {
this.uriStr = `调用相机,返回uri:\n${result.resultUri}`;
}).catch((err: BusinessError) => {
this.uriStr = `调用相机,异常:\n${JSON.stringify(err)}`;
});
-
技术特点:
-
系统级集成:直接调用设备原生相机应用,保证最佳兼容性
-
零配置启动:默认使用系统推荐参数,开发者无需调整分辨率/比例等细节
-
即时资源访问:返回的 URI 可直接用于
image.createImageSource()
创建图像源
-
-
应用场景扩展:
-
证件照拍摄(支持自动保存到指定相册目录)
-
商品扫描识别(配合AI解析库实现即时识别)
-
现场巡检记录(自动添加地理位置水印)
-
-
最佳实践:
-
调用前通过
abilityAccessCtrl
模块动态申请相机权限 -
大尺寸图片处理建议使用
image.createImageSource()
进行压缩 -
重要场景可启用地理位置标记功能
-
4.选择单张 / 多张图片
PickerUtil.selectPhoto().then((uris) => {
this.uriStr = `调用相册,返回uris:\n${uris.join('\n')}`;
}).catch((err: BusinessError) => {
this.uriStr = `调用相册,异常:\n${JSON.stringify(err)}`;
})
-
技术特点:
-
智能媒体过滤:自动识别并过滤损坏/不支持的图片格式
-
内存优化:流式加载机制避免大图列表内存溢出
-
多选控制:默认支持多选,可通过参数配置单选模式
-
-
应用场景扩展:
-
社交媒体多图发布(9宫格图片选择)
-
电子相册制作(跨相册图片聚合选择)
-
图片批量编辑处理(滤镜/裁剪/水印)
-
-
性能优化建议:
-
超大型相册建议分页加载(需SDK支持)
-
使用
Image
组件时建议设置显示尺寸避免内存溢出 -
重要数据建议立即复制到应用私有目录
-
5.选择单个或多个文件
let options: picker.DocumentSelectOptions = {
maxSelectNumber: 9, //选择媒体文件数量的最大值,默认9。
selectMode: picker.DocumentSelectMode.FILE, //支持选择的资源类型,默认文件
}
PickerUtil.selectDocument(options).then((uris) => {
this.uriStr = `调用文件管理,返回uris:\n${uris.join('\n')}`
}).catch((err: BusinessError) => {
this.uriStr = `调用文件管理,异常:\n${JSON.stringify(err)}`
});
-
特点: 调用系统文件管理器。允许开发者通过
maxSelectNumber
参数限制用户选择的文件数量上限,并通过selectMode
指定选择的是文件还是文件夹。返回选中的文件或文件夹的 URI 数组。 -
适用场景: 适用于需要用户从设备存储中选择特定文件的应用场景,例如文档上传、附件选择、导入外部数据文件、备份文件选择等。
注意事项:
-
本文档展示了
@pura/picker_utils
库的核心功能(拍照、选图、选文件)的基本用法。 -
该库可能提供更多高级选项和配置参数。如需了解更详尽的功能说明、参数细节以及高级用法,请务必参考该第三方 SDK 的官方文档或源码。
本文档所使用类的源地址链接
entry/src/main/ets/pages/utils/PickerUtilPage.ets · 桃花镇童长老/harmony-utils - Gitee.com
本文档所介绍的第三方库源地址链接OpenHarmony三方库中心仓
##三方SDK##数码相机##
- 0回答
- 0粉丝
- 0关注
- 最受欢迎的三方库之picker_utils
- 如何使用第三方库中的@pura/harmony-utils(V1.3.3)申请授权工具类二
- 如何使用第三方库中的@pura/harmony-utils(V1.3.3)申请授权工具类一
- 常用的ArkTS第三方库
- ArkTS第三方库的语法与使用详解
- 开源第三方库资源汇总
- 上传PR到第三方库可能遇到的问题
- 如何发布第三方库到 OpenHarmony,并提交一个PR
- 鸿蒙Flutter实战:05-使用第三方插件
- 第十四课:HarmonyOS Next第三方库集成指南
- HarmonyOS应用如何修改为OpenHarmony应用(API12)
- OpenHarmony三方库使用指南
- 最受欢迎的三方库之harmony-utils
- 童长老的三方库
- 鸿蒙--如何发布一个三方库