• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.file.picker (选择器)
2
3> **说明:**
4>
5> 该模块接口从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
6
7选择器(Picker)是一个封装PhotoViewPicker、DocumentViewPicker、AudioViewPicker等系统应用选择与保存能力的模块。应用可以自行选择使用哪种picker实现文件选择和文件保存的功能。
8
9## 导入模块
10
11```js
12import picker from '@ohos.file.picker';
13```
14
15## PhotoViewPicker
16
17图库选择器对象,用来支撑选择图片/视频和保存图片/视频等用户场景。在使用前,需要先创建PhotoViewPicker实例。
18
19**系统能力**:SystemCapability.FileManagement.UserFileService
20
21**示例:**
22
23```ts
24let photoPicker = new picker.PhotoViewPicker();
25```
26
27### select
28
29select(option?: PhotoSelectOptions) : Promise<PhotoSelectResult>
30
31通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用promise异步返回形式,传入可选参数PhotoSelectOptions对象,返回PhotoSelectResult对象。
32
33**系统能力**:SystemCapability.FileManagement.UserFileService
34
35**参数:**
36
37| 参数名  | 类型    | 必填 | 说明                       |
38| ------- | ------- | ---- | -------------------------- |
39| option | [PhotoSelectOptions](#photoselectoptions) | 否   | photoPicker选择选项,若无此参数,则默认选择媒体文件类型为图片和视频类型,选择媒体文件数量的最大值为50 |
40
41**返回值:**
42
43| 类型                            | 说明    |
44| ----------------------------- | :---- |
45| Promise<[PhotoSelectResult](#photoselectresult)> | Promise对象。返回photoPicker选择后的结果集 |
46
47**示例:**
48
49```ts
50async function example() {
51  try {
52    let PhotoSelectOptions = new picker.PhotoSelectOptions();
53    PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
54    PhotoSelectOptions.maxSelectNumber = 5;
55    let photoPicker = new picker.PhotoViewPicker();
56    photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult) => {
57      console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
58    }).catch((err) => {
59      console.error('PhotoViewPicker.select failed with err: ' + err);
60    });
61  } catch (err) {
62    console.error('PhotoViewPicker failed with err: ' + err);
63  }
64}
65```
66
67### select
68
69select(option: PhotoSelectOptions, callback: AsyncCallback<PhotoSelectResult>) : void
70
71通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用callback异步返回形式,传入参数PhotoSelectOptions对象,返回PhotoSelectResult对象。
72
73**系统能力**:SystemCapability.FileManagement.UserFileService
74
75**参数:**
76
77| 参数名  | 类型    | 必填 | 说明                       |
78| ------- | ------- | ---- | -------------------------- |
79| option | [PhotoSelectOptions](#photoselectoptions) | 是   | photoPicker选择选项 |
80| callback | AsyncCallback<[PhotoSelectResult](#photoselectresult)>      | 是   | callback 返回photoPicker选择后的结果集 |
81
82**示例:**
83
84```ts
85async function example() {
86  try {
87    let PhotoSelectOptions = new picker.PhotoSelectOptions();
88    PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
89    PhotoSelectOptions.maxSelectNumber = 5;
90    let photoPicker = new picker.PhotoViewPicker();
91    photoPicker.select(PhotoSelectOptions, (err, PhotoSelectResult) => {
92      if (err) {
93        console.error('PhotoViewPicker.select failed with err: ' + err);
94        return;
95      }
96      console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
97    });
98  } catch (err) {
99    console.error('PhotoViewPicker failed with err: ' + err);
100  }
101}
102```
103
104### select
105
106select(callback: AsyncCallback<PhotoSelectResult>) : void
107
108通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用callback异步返回形式,返回PhotoSelectResult对象。
109
110**系统能力**:SystemCapability.FileManagement.UserFileService
111
112**参数:**
113
114| 参数名  | 类型    | 必填 | 说明                       |
115| ------- | ------- | ---- | -------------------------- |
116| callback | AsyncCallback<[PhotoSelectResult](#photoselectresult)>      | 是   | callback 返回photoPicker选择后的结果集 |
117
118**示例:**
119
120```ts
121async function example() {
122  try {
123    let photoPicker = new picker.PhotoViewPicker();
124    photoPicker.select((err, PhotoSelectResult) => {
125      if (err) {
126        console.error('PhotoViewPicker.select failed with err: ' + err);
127        return;
128      }
129      console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
130    });
131  } catch (err) {
132    console.error('PhotoViewPicker failed with err: ' + err);
133  }
134}
135```
136
137### save
138
139save(option?: PhotoSaveOptions) : Promise<Array<string>>
140
141通过保存模式拉起photoPicker界面,用户可以保存一个或多个图片/视频。接口采用promise异步返回形式,传入可选参数PhotoSaveOptions对象,返回保存文件的uri数组。
142
143**系统能力**:SystemCapability.FileManagement.UserFileService
144
145**参数:**
146
147| 参数名  | 类型    | 必填 | 说明                       |
148| ------- | ------- | ---- | -------------------------- |
149| option | [PhotoSaveOptions](#photosaveoptions) | 否   | photoPicker保存图片或视频文件选项,若无此参数,则拉起photoPicker界面后需用户自行输入保存的文件名 |
150
151**返回值:**
152
153| 类型                            | 说明    |
154| ----------------------------- | :---- |
155| Promise<Array<string>> | Promise对象。返回photoPicker保存图片或视频文件后的结果集 |
156
157**示例:**
158
159```ts
160async function example() {
161  try {
162    let PhotoSaveOptions = new picker.PhotoSaveOptions();
163    PhotoSaveOptions.newFileNames = ['PhotoViewPicker01.jpg', 'PhotoViewPicker01.mp4'];
164    let photoPicker = new picker.PhotoViewPicker();
165    photoPicker.save(PhotoSaveOptions).then((PhotoSaveResult) => {
166      console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult));
167    }).catch((err) => {
168      console.error('PhotoViewPicker.save failed with err: ' + err);
169    });
170  } catch (err) {
171      console.error('PhotoViewPicker failed with err: ' + err);
172  }
173}
174```
175
176### save
177
178save(option: PhotoSaveOptions, callback: AsyncCallback<Array<string>>) : void
179
180通过保存模式拉起photoPicker界面,用户可以保存一个或多个图片/视频。接口采用callback异步返回形式,传入参数PhotoSaveOptions对象,返回保存文件的uri数组。
181
182**系统能力**:SystemCapability.FileManagement.UserFileService
183
184**参数:**
185
186| 参数名  | 类型    | 必填 | 说明                       |
187| ------- | ------- | ---- | -------------------------- |
188| option | [PhotoSaveOptions](#photosaveoptions) | 是   | photoPicker保存图片或视频文件选项 |
189| callback | AsyncCallback<Array<string>>      | 是   | callback 返回photoPicker保存图片或视频文件后的结果集 |
190
191**示例:**
192
193```ts
194async function example() {
195  try {
196    let PhotoSaveOptions = new picker.PhotoSaveOptions();
197    PhotoSaveOptions.newFileNames = ['PhotoViewPicker02.jpg','PhotoViewPicker02.mp4'];
198    let photoPicker = new picker.PhotoViewPicker();
199    photoPicker.save(PhotoSaveOptions, (err, PhotoSaveResult) => {
200      if (err) {
201        console.error('PhotoViewPicker.save failed with err: ' + err);
202        return;
203      }
204      console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult));
205    });
206  } catch (err) {
207    console.error('PhotoViewPicker failed with err: ' + err);
208  }
209}
210```
211
212### save
213
214save(callback: AsyncCallback<Array<string>>) : void
215
216通过保存模式拉起photoPicker界面,用户可以保存一个或多个图片/视频。接口采用callback异步返回形式,返回保存文件的uri数组。
217
218**系统能力**:SystemCapability.FileManagement.UserFileService
219
220**参数:**
221
222| 参数名  | 类型    | 必填 | 说明                       |
223| ------- | ------- | ---- | -------------------------- |
224| callback | AsyncCallback<Array<string>>      | 是   | callback 返回photoPicker保存图片或视频文件后的结果集 |
225
226**示例:**
227
228```ts
229async function example() {
230  try {
231    let photoPicker = new picker.PhotoViewPicker();
232    photoPicker.save((err, PhotoSaveResult) => {
233      if (err) {
234        console.error('PhotoViewPicker.save failed with err: ' + err);
235        return;
236      }
237      console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult));
238    });
239  } catch (err) {
240    console.error('PhotoViewPicker failed with err: ' + err);
241  }
242}
243```
244
245## DocumentViewPicker
246
247文件选择器对象,用来支撑选择和保存非媒体文件等用户场景,比如各种格式文档。在使用前,需要先创建DocumentViewPicker实例。
248
249**系统能力**:SystemCapability.FileManagement.UserFileService
250
251**示例:**
252
253```ts
254let documentPicker = new picker.DocumentViewPicker();
255```
256
257### select
258
259select(option?: DocumentSelectOptions) : Promise<Array<string>>
260
261通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件。接口采用promise异步返回形式,传入可选参数DocumentSelectOptions对象,返回选择文件的uri数组。
262
263**系统能力**:SystemCapability.FileManagement.UserFileService
264
265**参数:**
266
267| 参数名  | 类型    | 必填 | 说明                       |
268| ------- | ------- | ---- | -------------------------- |
269| option | [DocumentSelectOptions](#documentselectoptions) | 否   | documentPicker选择选项,若无此参数,则默认拉起documentPicker主界面 |
270
271**返回值:**
272
273| 类型                            | 说明    |
274| ----------------------------- | :---- |
275| Promise<Array<string>> | Promise对象。返回documentPicker选择后的结果集 |
276
277**示例:**
278
279```ts
280async function example() {
281  try {
282    let DocumentSelectOptions = new picker.DocumentSelectOptions();
283    let documentPicker = new picker.DocumentViewPicker();
284    documentPicker.select(DocumentSelectOptions).then((DocumentSelectResult) => {
285      console.info('DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
286    }).catch((err) => {
287      console.error('DocumentViewPicker.select failed with err: ' + err);
288    });
289  } catch (err) {
290    console.error('DocumentViewPicker failed with err: ' + err);
291  }
292}
293```
294
295### select
296
297select(option: DocumentSelectOptions, callback: AsyncCallback<Array<string>>) : void
298
299通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件。接口采用callback异步返回形式,传入参数DocumentSelectOptions对象,返回选择文件的uri数组。
300
301**系统能力**:SystemCapability.FileManagement.UserFileService
302
303**参数:**
304
305| 参数名  | 类型    | 必填 | 说明                       |
306| ------- | ------- | ---- | -------------------------- |
307| option | [DocumentSelectOptions](#documentselectoptions) | 是   | documentPicker选择选项 |
308| callback | AsyncCallback<Array<string>>      | 是   | callback 返回documentPicker选择后的结果集 |
309
310**示例:**
311
312```ts
313async function example() {
314  try {
315    let DocumentSelectOptions = new picker.DocumentSelectOptions();
316    let documentPicker = new picker.DocumentViewPicker();
317    documentPicker.select(DocumentSelectOptions, (err, DocumentSelectResult) => {
318      if (err) {
319        console.error('DocumentViewPicker.select failed with err: ' + err);
320        return;
321      }
322      console.info('DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
323    });
324  } catch (err) {
325    console.error('DocumentViewPicker failed with err: ' + err);
326  }
327}
328```
329
330### select
331
332select(callback: AsyncCallback<Array<string>>) : void
333
334通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件。接口采用callback异步返回形式,返回选择文件的uri数组。
335
336**系统能力**:SystemCapability.FileManagement.UserFileService
337
338**参数:**
339
340| 参数名  | 类型    | 必填 | 说明                       |
341| ------- | ------- | ---- | -------------------------- |
342| callback | AsyncCallback<Array<string>>      | 是   | callback 返回documentPicker选择后的结果集 |
343
344**示例:**
345
346```ts
347async function example() {
348  try {
349    let documentPicker = new picker.DocumentViewPicker();
350    documentPicker.select((err, DocumentSelectResult) => {
351      if (err) {
352        console.error('DocumentViewPicker.select failed with err: ' + err);
353        return;
354      }
355      console.info('DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
356    });
357  } catch (err) {
358    console.error('DocumentViewPicker failed with err: ' + err);
359  }
360}
361```
362
363
364### save
365
366save(option?: DocumentSaveOptions) : Promise<Array<string>>
367
368通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件。接口采用promise异步返回形式,传入可选参数DocumentSaveOptions对象,返回保存文件的uri数组。
369
370**系统能力**:SystemCapability.FileManagement.UserFileService
371
372**参数:**
373
374| 参数名  | 类型    | 必填 | 说明                       |
375| ------- | ------- | ---- | -------------------------- |
376| option | [DocumentSaveOptions](#documentsaveoptions) | 否   | documentPicker保存选项,若无此参数,则拉起documentPicker界面后需用户自行输入保存的文件名 |
377
378**返回值:**
379
380| 类型                            | 说明    |
381| ----------------------------- | :---- |
382| Promise<Array<string>> | Promise对象。返回documentPicker保存后的结果集 |
383
384**示例:**
385
386```ts
387async function example() {
388  try {
389    let DocumentSaveOptions = new picker.DocumentSaveOptions();
390    DocumentSaveOptions.newFileNames = ['DocumentViewPicker01.txt'];
391    let documentPicker = new picker.DocumentViewPicker();
392    documentPicker.save(DocumentSaveOptions).then((DocumentSaveResult) => {
393      console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult));
394    }).catch((err) => {
395      console.error('DocumentViewPicker.save failed with err: ' + err);
396    });
397  } catch (err) {
398    console.error('DocumentViewPicker failed with err: ' + err);
399  }
400}
401```
402
403### save
404
405save(option: DocumentSaveOptions, callback: AsyncCallback<Array<string>>) : void
406
407通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件。接口采用callback异步返回形式,传入参数DocumentSaveOptions对象,返回保存文件的uri数组。
408
409**系统能力**:SystemCapability.FileManagement.UserFileService
410
411**参数:**
412
413| 参数名  | 类型    | 必填 | 说明                       |
414| ------- | ------- | ---- | -------------------------- |
415| option | [DocumentSaveOptions](#documentsaveoptions) | 是   | documentPicker保存选项 |
416| callback | AsyncCallback<Array<string>>      | 是   | callback 返回documentPicker保存后的结果集 |
417
418**示例:**
419
420```ts
421async function example() {
422  try {
423    let DocumentSaveOptions = new picker.DocumentSaveOptions();
424    DocumentSaveOptions.newFileNames = ['DocumentViewPicker02.txt'];
425    let documentPicker = new picker.DocumentViewPicker();
426    documentPicker.save(DocumentSaveOptions, (err, DocumentSaveResult) => {
427      if (err) {
428        console.error('DocumentViewPicker.save failed with err: ' + err);
429        return;
430      }
431      console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult));
432    });
433  } catch (err) {
434    console.error('DocumentViewPicker failed with err: ' + err);
435  }
436}
437```
438
439### save
440
441save(callback: AsyncCallback<Array<string>>) : void
442
443通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件。接口采用callback异步返回形式,返回保存文件的uri数组。
444
445**系统能力**:SystemCapability.FileManagement.UserFileService
446
447**参数:**
448
449| 参数名  | 类型    | 必填 | 说明                       |
450| ------- | ------- | ---- | -------------------------- |
451| callback | AsyncCallback<Array<string>>      | 是   | callback 返回documentPicker保存后的结果集 |
452
453**示例:**
454
455```ts
456async function example() {
457  try {
458    let documentPicker = new picker.DocumentViewPicker();
459    documentPicker.save((err, DocumentSaveResult) => {
460      if (err) {
461        console.error('DocumentViewPicker.save failed with err: ' + err);
462        return;
463      }
464      console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult));
465    });
466  } catch (err) {
467    console.error('DocumentViewPicker failed with err: ' + err);
468  }
469}
470```
471
472## AudioViewPicker
473
474音频选择器对象,用来支撑选择和保存音频类文件等用户场景。在使用前,需要先创建AudioViewPicker实例。
475
476**系统能力**:SystemCapability.FileManagement.UserFileService
477
478**示例:**
479
480```ts
481let audioPicker = new picker.AudioViewPicker();
482```
483
484### select
485
486select(option?: AudioSelectOptions) : Promise<Array<string>>
487
488通过选择模式拉起audioPicker界面(目前拉起的是documentPicker,audioPicker在规划中),用户可以选择一个或多个音频文件。接口采用promise异步返回形式,传入可选参数AudioSelectOptions对象,返回选择音频文件的uri数组。
489
490**系统能力**:SystemCapability.FileManagement.UserFileService
491
492**参数:**
493
494| 参数名  | 类型    | 必填 | 说明                       |
495| ------- | ------- | ---- | -------------------------- |
496| option | [AudioSelectOptions](#audioselectoptions) | 否   | audioPicker音频选择选项,若无此参数,则默认拉起audioPicker主界面  |
497
498**返回值:**
499
500| 类型                            | 说明    |
501| ----------------------------- | :---- |
502| Promise<Array<string>> | Promise对象。返回audioPicker选择音频后的结果集 |
503
504**示例:**
505
506```ts
507async function example() {
508  try {
509    let AudioSelectOptions = new picker.AudioSelectOptions();
510    let audioPicker = new picker.AudioViewPicker();
511    audioPicker.select(AudioSelectOptions).then((AudioSelectResult) => {
512      console.info('AudioViewPicker.select successfully, AudioSelectResult uri: ' + JSON.stringify(AudioSelectResult));
513    }).catch((err) => {
514      console.error('AudioViewPicker.select failed with err: ' + err);
515    });
516  } catch (err) {
517    console.error('AudioViewPicker failed with err: ' + err);
518  }
519}
520```
521
522### select
523
524select(option: AudioSelectOptions, callback: AsyncCallback<Array<string>>) : void
525
526通过选择模式拉起audioPicker界面(目前拉起的是documentPicker,audioPicker在规划中),用户可以选择一个或多个音频文件。接口采用callback异步返回形式,传入参数AudioSelectOptions对象,返回选择音频文件的uri数组。
527
528**系统能力**:SystemCapability.FileManagement.UserFileService
529
530**参数:**
531
532| 参数名  | 类型    | 必填 | 说明                       |
533| ------- | ------- | ---- | -------------------------- |
534| option | [AudioSelectOptions](#audioselectoptions) | 是   | audioPicker音频选择选项 |
535| callback | AsyncCallback<Array<string>>      | 是   | callback 返回audioPicker选择音频后的结果集 |
536
537**示例:**
538
539```ts
540async function example() {
541  try {
542    let AudioSelectOptions = new picker.AudioSelectOptions();
543    let audioPicker = new picker.AudioViewPicker();
544    audioPicker.select(AudioSelectOptions, (err, AudioSelectResult) => {
545      if (err) {
546        console.error('AudioViewPicker.select failed with err: ' + err);
547        return;
548      }
549      console.info('AudioViewPicker.select successfully, AudioSelectResult uri: ' + JSON.stringify(AudioSelectResult));
550    });
551  } catch (err) {
552    console.error('AudioViewPicker failed with err: ' + err);
553  }
554}
555```
556
557### select
558
559select(callback: AsyncCallback<Array<string>>) : void
560
561通过选择模式拉起audioPicker界面(目前拉起的是documentPicker,audioPicker在规划中),用户可以选择一个或多个音频文件。接口采用callback异步返回形式,返回选择音频文件的uri数组。
562
563**系统能力**:SystemCapability.FileManagement.UserFileService
564
565**参数:**
566
567| 参数名  | 类型    | 必填 | 说明                       |
568| ------- | ------- | ---- | -------------------------- |
569| callback | AsyncCallback<Array<string>>      | 是   | callback 返回audioPicker选择音频后的结果集 |
570
571**示例:**
572
573```ts
574async function example() {
575  try {
576    let audioPicker = new picker.AudioViewPicker();
577    audioPicker.select((err, AudioSelectResult) => {
578      if (err) {
579        console.error('AudioViewPicker.select failed with err: ' + err);
580        return;
581      }
582      console.info('AudioViewPicker.select successfully, AudioSelectResult uri: ' + JSON.stringify(AudioSelectResult));
583    });
584  } catch (err) {
585    console.error('AudioViewPicker failed with err: ' + err);
586  }
587}
588```
589
590### save
591
592save(option?: AudioSaveOptions) : Promise<Array<string>>
593
594通过保存模式拉起audioPicker界面(目前拉起的是documentPicker,audioPicker在规划中),用户可以保存一个或多个音频文件。接口采用promise异步返回形式,传入可选参数AudioSaveOptions对象,返回保存音频文件的uri数组。
595
596**系统能力**:SystemCapability.FileManagement.UserFileService
597
598**参数:**
599
600| 参数名  | 类型    | 必填 | 说明                       |
601| ------- | ------- | ---- | -------------------------- |
602| option | [AudioSaveOptions](#audiosaveoptions) | 否   | audioPicker保存音频文件选项,若无此参数,则拉起audioPicker界面后需用户自行输入保存的文件名 |
603
604**返回值:**
605
606| 类型                            | 说明    |
607| ----------------------------- | ---- |
608| Promise<Array<string>> | Promise对象。返回audioPicker保存音频文件后的结果集 |
609
610**示例:**
611
612```ts
613async function example() {
614  try {
615    let AudioSaveOptions = new picker.AudioSaveOptions();
616    AudioSaveOptions.newFileNames = ['AudioViewPicker01.mp3'];
617    let audioPicker = new picker.AudioViewPicker();
618    audioPicker.save(AudioSaveOptions).then((AudioSaveResult) => {
619      console.info('AudioViewPicker.save successfully, AudioSaveResult uri: ' + JSON.stringify(AudioSaveResult))
620    }).catch((err) => {
621      console.error('AudioViewPicker.save failed with err: ' + err);
622    });
623  } catch (err) {
624    console.error('AudioViewPicker failed with err: ' + err);
625  }
626}
627```
628
629### save
630
631save(option: AudioSaveOptions, callback: AsyncCallback<Array<string>>) : void
632
633通过保存模式拉起audioPicker界面(目前拉起的是documentPicker,audioPicker在规划中),用户可以保存一个或多个音频文件。接口采用callback异步返回形式,传入参数AudioSaveOptions对象,返回保存音频文件的uri数组。
634
635**系统能力**:SystemCapability.FileManagement.UserFileService
636
637**参数:**
638
639| 参数名  | 类型    | 必填 | 说明                       |
640| ------- | ------- | ---- | -------------------------- |
641| option | [AudioSaveOptions](#audiosaveoptions) | 是   | audioPicker保存音频文件选项 |
642| callback | AsyncCallback<Array<string>>      | 是   | callback 返回audioPicker保存音频文件后的结果集 |
643
644**示例:**
645
646```ts
647async function example() {
648  try {
649    let AudioSaveOptions = new picker.AudioSaveOptions();
650    AudioSaveOptions.newFileNames = ['AudioViewPicker02.mp3'];
651    let audioPicker = new picker.AudioViewPicker();
652    audioPicker.save(AudioSaveOptions, (err, AudioSaveResult) => {
653      if (err) {
654        console.error('AudioViewPicker.save failed with err: ' + err);
655        return;
656      }
657      console.info('AudioViewPicker.save successfully, AudioSaveResult uri: ' + JSON.stringify(AudioSaveResult));
658    });
659  } catch (err) {
660    console.error('AudioViewPicker failed with err: ' + err);
661  }
662}
663```
664
665### save
666
667save(callback: AsyncCallback<Array<string>>) : void
668
669通过保存模式拉起audioPicker界面(目前拉起的是documentPicker,audioPicker在规划中),用户可以保存一个或多个音频文件。接口采用callback异步返回形式,返回保存音频文件的uri数组。
670
671**系统能力**:SystemCapability.FileManagement.UserFileService
672
673**参数:**
674
675| 参数名  | 类型    | 必填 | 说明                       |
676| ------- | ------- | ---- | -------------------------- |
677| callback | AsyncCallback<Array<string>>      | 是   | callback 返回audioPicker保存音频文件后的结果集 |
678
679**示例:**
680
681```ts
682async function example() {
683  try {
684    let audioPicker = new picker.AudioViewPicker();
685    audioPicker.save((err, AudioSaveResult) => {
686      if (err) {
687        console.error('AudioViewPicker.save failed with err: ' + err);
688        return;
689      }
690      console.info('AudioViewPicker.save successfully, AudioSaveResult uri: ' + JSON.stringify(AudioSaveResult));
691    });
692  } catch (err) {
693    console.error('AudioViewPicker failed with err: ' + err);
694  }
695}
696```
697
698## PhotoViewMIMETypes
699
700枚举,可选择的媒体文件类型。
701
702**系统能力:** 以下各项对应的系统能力均为 SystemCapability.FileManagement.UserFileService
703
704| 名称  |  值 |  说明 |
705| ----- |  ---- | ---- |
706| IMAGE_TYPE  |  'image/*' | 图片类型 |
707| VIDEO_TYPE |  'video/*' | 视频类型 |
708| IMAGE_VIDEO_TYPE |  '\*/*' | 图片和视频类型 |
709
710## PhotoSelectOptions
711
712图库选择选项。
713
714**系统能力:** 以下各项对应的系统能力均为 SystemCapability.FileManagement.UserFileService
715
716| 名称                    | 类型                | 必填 | 说明                          |
717| ----------------------- | ------------------- | ---- | -------------------------------- |
718| MIMEType?              | [PhotoViewMIMETypes](#photoviewmimetypes)   | 否   | 可选择的媒体文件类型,若无此参数,则默认为图片和视频类型 |
719| maxSelectNumber?       | number | 否   | 选择媒体文件数量的最大值(默认值为50,最大值为500)      |
720
721## PhotoSelectResult
722
723返回图库选择后的结果集。
724
725**系统能力:** 以下各项对应的系统能力均为 SystemCapability.FileManagement.UserFileService
726
727| 名称                    | 类型                | 可读 | 可写 | 说明                           |
728| ----------------------- | ------------------- | ---- | ---- | ------------------------------ |
729| photoUris        | Array<string>    | 是   | 是   | 返回图库选择后的媒体文件的uri数组 |
730| isOriginalPhoto        | boolean    | 是   | 是   | 返回图库选择后的媒体文件是否为原图 |
731
732## PhotoSaveOptions
733
734图片或视频的保存选项。
735
736**系统能力:** 以下各项对应的系统能力均为 SystemCapability.FileManagement.UserFileService
737
738| 名称                    | 类型                | 必填 |  说明                           |
739| ----------------------- | ------------------- | ---- | ---------------------------- |
740| newFileNames?              | Array<string>    | 否  | 拉起photoPicker进行保存图片或视频资源的文件名,若无此参数,则默认需要用户自行输入 |
741
742## DocumentSelectOptions
743
744文档选择选项,目前不支持参数配置。
745
746**系统能力:** SystemCapability.FileManagement.UserFileService
747
748## DocumentSaveOptions
749
750文档保存选项。
751
752**系统能力:** 以下各项对应的系统能力均为 SystemCapability.FileManagement.UserFileService
753
754| 名称                    | 类型                | 必填 |  说明                           |
755| ----------------------- | ------------------- | ---- | ---------------------------- |
756| newFileNames?            | Array<string>    | 否   | 拉起documentPicker进行保存的文件名,若无此参数,则默认需要用户自行输入 |
757
758## AudioSelectOptions
759
760音频选择选项,目前不支持参数配置。
761
762**系统能力:** SystemCapability.FileManagement.UserFileService
763
764## AudioSaveOptions
765
766音频的保存选项。
767
768**系统能力:** 以下各项对应的系统能力均为 SystemCapability.FileManagement.UserFileService
769
770| 名称                    | 类型                | 必填 |  说明                           |
771| ----------------------- | ------------------- | ---- | ---------------------------- |
772| newFileNames?              | Array<string>    | 否  | 拉起audioPicker进行保存音频资源的文件名,若无此参数,则默认需要用户自行输入 |
773