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