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