• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Class (PhotoViewPicker)
2
3> **说明:**
4>
5> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
6
7图库选择器对象用于支持选择图片、视频等用户场景。使用前,需先创建PhotoViewPicker实例。
8
9**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
10
11**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
12
13**示例:**
14
15```ts
16let photoPicker = new photoAccessHelper.PhotoViewPicker();
17```
18
19## 导入模块
20
21```ts
22import { photoAccessHelper } from '@kit.MediaLibraryKit';
23```
24
25## select
26
27select(option?: PhotoSelectOptions) : Promise<PhotoSelectResult>
28
29通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用Promise异步返回形式,传入可选参数PhotoSelectOptions对象,返回PhotoSelectResult对象。
30
31**注意**:此接口返回的PhotoSelectResult对象中的photoUris具有永久授权,可通过调用[photoAccessHelper.getAssets接口](arkts-apis-photoAccessHelper-PhotoAccessHelper.md#getassets)去使用,具体使用方式参见用户文件uri介绍中的[媒体文件uri的使用方式](../../file-management/user-file-uri-intro.md#媒体文件uri的使用方式)。
32
33**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
34
35**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
36
37**参数:**
38
39| 参数名  | 类型    | 必填 | 说明                       |
40| ------- | ------- | ---- | -------------------------- |
41| option | [PhotoSelectOptions](arkts-apis-photoAccessHelper-class.md#photoselectoptions) | 否   | photoPicker选择选项,若无此参数,则默认选择媒体文件类型为图片和视频类型,默认选择媒体文件数量的最大值为50。 |
42
43**返回值:**
44
45| 类型                            | 说明    |
46| ----------------------------- | :---- |
47| Promise<[PhotoSelectResult](arkts-apis-photoAccessHelper-class.md#photoselectresult)> | Promise对象。返回photoPicker选择后的结果集 |
48
49**错误码:**
50
51接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
52
53| 错误码ID | 错误信息 |
54| -------- | ---------------------------------------- |
55| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
56| 13900042      | Unknown error.         |
57
58**示例:**
59
60```ts
61import { BusinessError } from '@kit.BasicServicesKit';
62
63async function example01(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
64  try {
65    let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
66    PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
67    PhotoSelectOptions.maxSelectNumber = 5;
68    let photoPicker = new photoAccessHelper.PhotoViewPicker();
69    photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
70      console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
71    }).catch((err: BusinessError) => {
72      console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`);
73    });
74  } catch (error) {
75    let err: BusinessError = error as BusinessError;
76    console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`);
77  }
78}
79```
80
81## select
82
83select(option: PhotoSelectOptions, callback: AsyncCallback<PhotoSelectResult>) : void
84
85通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用callback异步返回形式,传入参数PhotoSelectOptions对象,返回PhotoSelectResult对象。
86
87**注意**:此接口返回的PhotoSelectResult对象中的photoUris具有永久授权,可通过调用[photoAccessHelper.getAssets接口](arkts-apis-photoAccessHelper-PhotoAccessHelper.md#getassets)去使用,具体使用方式参见用户文件uri介绍中的[媒体文件uri的使用方式](../../file-management/user-file-uri-intro.md#媒体文件uri的使用方式)。
88
89**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
90
91**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
92
93**参数:**
94
95| 参数名  | 类型    | 必填 | 说明                       |
96| ------- | ------- | ---- | -------------------------- |
97| option | [PhotoSelectOptions](arkts-apis-photoAccessHelper-class.md#photoselectoptions) | 是   | photoPicker选择选项。 |
98| callback | AsyncCallback<[PhotoSelectResult](arkts-apis-photoAccessHelper-class.md#photoselectresult)>      | 是   | callback 返回photoPicker选择后的结果集。 |
99
100**错误码:**
101
102接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
103
104| 错误码ID | 错误信息 |
105| -------- | ---------------------------------------- |
106| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. |
107| 13900042      | Unknown error.         |
108
109**示例:**
110
111```ts
112import { BusinessError } from '@kit.BasicServicesKit';
113
114async function example02(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
115  try {
116    let PhotoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
117    PhotoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
118    PhotoSelectOptions.maxSelectNumber = 5;
119    let photoPicker = new photoAccessHelper.PhotoViewPicker();
120    photoPicker.select(PhotoSelectOptions, (err: BusinessError, PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
121      if (err) {
122        console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`);
123        return;
124      }
125      console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
126    });
127  } catch (error) {
128    let err: BusinessError = error as BusinessError;
129    console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`);
130  }
131}
132```
133
134## select
135
136select(callback: AsyncCallback<PhotoSelectResult>) : void
137
138通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用callback异步返回形式,返回PhotoSelectResult对象。
139
140**注意**:此接口返回的PhotoSelectResult对象中的photoUris具有永久授权,可通过调用[photoAccessHelper.getAssets接口](arkts-apis-photoAccessHelper-PhotoAccessHelper.md#getassets)去使用,具体使用方式参见用户文件uri介绍中的[媒体文件uri的使用方式](../../file-management/user-file-uri-intro.md#媒体文件uri的使用方式)。
141
142**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
143
144**系统能力**:SystemCapability.FileManagement.PhotoAccessHelper.Core
145
146**参数:**
147
148| 参数名  | 类型    | 必填 | 说明                       |
149| ------- | ------- | ---- | -------------------------- |
150| callback | AsyncCallback<[PhotoSelectResult](arkts-apis-photoAccessHelper-class.md#photoselectresult)>      | 是   | callback 返回photoPicker选择后的结果集。 |
151
152**错误码:**
153
154接口抛出错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)和[文件管理错误码](../apis-core-file-kit/errorcode-filemanagement.md)。
155
156| 错误码ID | 错误信息 |
157| -------- | ---------------------------------------- |
158| 401    | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. |
159| 13900042      | Unknown error.         |
160
161**示例:**
162
163```ts
164import { BusinessError } from '@kit.BasicServicesKit';
165
166async function example03(phAccessHelper: photoAccessHelper.PhotoAccessHelper) {
167  try {
168    let photoPicker = new photoAccessHelper.PhotoViewPicker();
169    photoPicker.select((err: BusinessError, PhotoSelectResult: photoAccessHelper.PhotoSelectResult) => {
170      if (err) {
171        console.error(`PhotoViewPicker.select failed with err: ${err.code}, ${err.message}`);
172        return;
173      }
174      console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
175    });
176  } catch (error) {
177    let err: BusinessError = error as BusinessError;
178    console.error(`PhotoViewPicker failed with err: ${err.code}, ${err.message}`);
179  }
180}
181```
182