1. 安装依赖
css
ohpm i @pura/picker_utils
2.在使用的页面导入模块
javascript
import { CameraOptions, PickerUtil } from '@pura/picker_utils';
import { image } from '@kit.ImageKit';
import { camera, cameraPicker } from '@kit.CameraKit';
import { BusinessError } from '@kit.BasicServicesKit';
3.拍照(需要有拍照权限)
javascript
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。
- 场景:快速拍照并保存,适用于简单拍照需求。
4.选择单张 / 多张图片
javascript
PickerUtil.selectPhoto().then((uris) => {
this.uriStr = `调用相册,返回uris:\n${uris.join('\n')}`;
}).catch((err: BusinessError) => {
this.uriStr = `调用相册,异常:\n${JSON.stringify(err)}`;
})
- 特点:打开系统相册,支持多选,返回 URI 数组。
- 场景:图片上传、图片编辑等需要用户选择现有图片的场景。
5.选择单个或多个文件
javascript
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)}`
});
注:剩下更详细的可去参考原第三方SDk
本文档所使用类的源地址链接
entry/src/main/ets/pages/utils/PickerUtilPage.ets · 桃花镇童长老/harmony-utils - Gitee.com
本文档所介绍的第三方库源地址链接 OpenHarmony三方库中心仓
##三方SDK##数码相机##