HarmonyOS实战开发:@ohos.file.picker (选择器)

守听  论坛元老 | 2024-12-12 04:17:51 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1009|帖子 1009|积分 3027

说明:
  该模块接口从API version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
  选择器(Picker)是一个封装PhotoViewPicker、DocumentViewPicker、AudioViewPicker等API模块,具有选择与保存的能力。应用可以自行选择利用哪种API实现文件选择和文件保存的功能。该类接口,必要应用在界面UIAbility中调用,否则无法拉起photoPicker应用或FilePicker应用。
导入模块

  1. import picker from '@ohos.file.picker';
复制代码
PhotoViewPicker

图库选择器对象,用来支撑选择图片/视频和保存图片/视频等用户场景。选择文件保举利用PhotoAccessHelper的PhotoViewPicker。在利用前,必要先创建PhotoViewPicker实例。
系统能力:SystemCapability.FileManagement.UserFileService
示例:
  1. let photoPicker = new picker.PhotoViewPicker();
复制代码
select

select(option?: PhotoSelectOptions): Promise<hotoSelectResult>
通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用Promise异步返回形式,传入可选参数PhotoSelectOptions对象,返回PhotoSelectResult对象。
留意:此接口返回的PhotoSelectResult对象中的photoUris只能通过暂时授权的方式调用photoAccessHelper.getAssets接口去利用,具体利用方式参见用户文件uri介绍中的媒体文件uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明选择PhotoSelectOptions否photoPicker选择选项,若无此参数,则默认选择媒体文件范例为图片和视频范例,选择媒体文件数量的默认最大值为50 返回值:
范例说明Promise<hotoSelectResult>Promise对象。返回photoPicker选择后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example01() {
  3.   try {  
  4.     let PhotoSelectOptions = new picker.PhotoSelectOptions();
  5.     PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
  6.     PhotoSelectOptions.maxSelectNumber = 5;
  7.     let photoPicker = new picker.PhotoViewPicker();
  8.     photoPicker.select(PhotoSelectOptions).then((PhotoSelectResult: picker.PhotoSelectResult) => {
  9.       console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
  10.     }).catch((err: BusinessError) => {
  11.       console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
  12.     });
  13.   } catch (error) {
  14.     let err: BusinessError = error as BusinessError;
  15.     console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
  16.   }
  17. }
复制代码
select

select(option: PhotoSelectOptions, callback: AsyncCallback<hotoSelectResult>): void
通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用callback异步返回形式,传入参数PhotoSelectOptions对象,返回PhotoSelectResult对象。
留意:此接口返回的PhotoSelectResult对象中的photoUris只能通过暂时授权的方式调用photoAccessHelper.getAssets接口去利用,具体利用方式参见用户文件uri介绍中的媒体文件uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionPhotoSelectOptions是photoPicker选择选项callbackAsyncCallback<hotoSelectResult>是callback 返回photoPicker选择后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example02() {
  3.   try {
  4.     let PhotoSelectOptions = new picker.PhotoSelectOptions();
  5.     PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE;
  6.     PhotoSelectOptions.maxSelectNumber = 5;
  7.     let photoPicker = new picker.PhotoViewPicker();
  8.     photoPicker.select(PhotoSelectOptions, (err: BusinessError, PhotoSelectResult: picker.PhotoSelectResult) => {
  9.       if (err) {
  10.         console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
  11.         return;
  12.       }
  13.       console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
  14.     });
  15.   } catch (error) {
  16.     let err: BusinessError = error as BusinessError;
  17.     console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
  18.   }
  19. }
复制代码
select

select(callback: AsyncCallback<hotoSelectResult>): void
通过选择模式拉起photoPicker界面,用户可以选择一个或多个图片/视频。接口采用callback异步返回形式,返回PhotoSelectResult对象。
留意:此接口返回的PhotoSelectResult对象中的photoUris只能通过暂时授权的方式调用photoAccessHelper.getAssets接口去利用,具体利用方式参见用户文件uri介绍中的媒体文件uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明callbackAsyncCallback<hotoSelectResult>是callback 返回photoPicker选择后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example03() {
  3.   try {
  4.     let photoPicker = new picker.PhotoViewPicker();
  5.     photoPicker.select((err: BusinessError, PhotoSelectResult: picker.PhotoSelectResult) => {
  6.       if (err) {
  7.         console.error('PhotoViewPicker.select failed with err: ' + JSON.stringify(err));
  8.         return;
  9.       }
  10.       console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
save

save(option?: PhotoSaveOptions): Promise<Array<string>>
通过保存模式拉起photoPicker界面,用户可以保存一个或多个图片/视频。接口采用Promise异步返回形式,传入可选参数PhotoSaveOptions对象,返回保存文件的uri数组。
留意:此接口会将文件保存在文件管理器,而不是图库。返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionPhotoSaveOptions否photoPicker保存图片或视频文件选项,若无此参数,则拉起photoPicker界面后需用户自行输入保存的文件名 返回值:
范例说明Promise<Array<string>>Promise对象。返回photoPicker保存图片或视频文件后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example04() {
  3.   try {
  4.     let PhotoSaveOptions = new picker.PhotoSaveOptions();
  5.     PhotoSaveOptions.newFileNames = ['PhotoViewPicker01.jpg', 'PhotoViewPicker01.mp4'];
  6.     let photoPicker = new picker.PhotoViewPicker();
  7.     photoPicker.save(PhotoSaveOptions).then((PhotoSaveResult: Array<string>) => {
  8.       console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult));
  9.     }).catch((err: BusinessError) => {
  10.       console.error('PhotoViewPicker.save failed with err: ' + JSON.stringify(err));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.       console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
save

save(option: PhotoSaveOptions, callback: AsyncCallback<Array<string>>): void
通过保存模式拉起photoPicker界面,用户可以保存一个或多个图片/视频。接口采用callback异步返回形式,传入参数PhotoSaveOptions对象,返回保存文件的uri数组。
留意:此接口会将文件保存在文件管理器,而不是图库。返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionPhotoSaveOptions是photoPicker保存图片或视频文件选项callbackAsyncCallback<Array<string>>是callback 返回photoPicker保存图片或视频文件后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example05() {
  3.   try {
  4.     let PhotoSaveOptions = new picker.PhotoSaveOptions();
  5.     PhotoSaveOptions.newFileNames = ['PhotoViewPicker02.jpg','PhotoViewPicker02.mp4'];
  6.     let photoPicker = new picker.PhotoViewPicker();
  7.     photoPicker.save(PhotoSaveOptions, (err: BusinessError, PhotoSaveResult: Array<string>) => {
  8.       if (err) {
  9.         console.error('PhotoViewPicker.save failed with err: ' + JSON.stringify(err));
  10.         return;
  11.       }
  12.       console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult));
  13.     });
  14.   } catch (error) {
  15.     let err: BusinessError = error as BusinessError;
  16.     console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
  17.   }
  18. }
复制代码
save

save(callback: AsyncCallback<Array<string>>): void
通过保存模式拉起photoPicker界面,用户可以保存一个或多个图片/视频。接口采用callback异步返回形式,返回保存文件的uri数组。
留意:此接口会将文件保存在文件管理器,而不是图库。返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明callbackAsyncCallback<Array<string>>是callback 返回photoPicker保存图片或视频文件后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example06() {
  3.   try {
  4.     let photoPicker = new picker.PhotoViewPicker();
  5.     photoPicker.save((err: BusinessError, PhotoSaveResult: Array<string>) => {
  6.       if (err) {
  7.         console.error('PhotoViewPicker.save failed with err: ' + JSON.stringify(err));
  8.         return;
  9.       }
  10.       console.info('PhotoViewPicker.save successfully, PhotoSaveResult uri: ' + JSON.stringify(PhotoSaveResult));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('PhotoViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
DocumentViewPicker

文件选择器对象,用来支撑选择和保存各种格式文档。在利用前,必要先创建DocumentViewPicker实例。
系统能力:SystemCapability.FileManagement.UserFileService
示例:
  1. let documentPicker = new picker.DocumentViewPicker();
复制代码
select

select(option?: DocumentSelectOptions): Promise<Array<string>>
通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件。接口采用Promise异步返回形式,传入可选参数DocumentSelectOptions对象,返回选择文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionDocumentSelectOptions否documentPicker选择选项,若无此参数,则默认拉起documentPicker主界面 返回值:
范例说明Promise<Array<string>>Promise对象。返回documentPicker选择后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example07() {
  3.   try {
  4.     let DocumentSelectOptions = new picker.DocumentSelectOptions();
  5.     let documentPicker = new picker.DocumentViewPicker();
  6.     documentPicker.select(DocumentSelectOptions).then((DocumentSelectResult: Array<string>) => {
  7.       console.info('DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
  8.     }).catch((err: BusinessError) => {
  9.       console.error('DocumentViewPicker.select failed with err: ' + JSON.stringify(err));
  10.     });
  11.   } catch (error) {
  12.     let err: BusinessError = error as BusinessError;
  13.     console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  14.   }
  15. }
复制代码
select

select(option: DocumentSelectOptions, callback: AsyncCallback<Array<string>>): void
通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件。接口采用callback异步返回形式,传入参数DocumentSelectOptions对象,返回选择文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionDocumentSelectOptions是documentPicker选择选项callbackAsyncCallback<Array<string>>是callback 返回documentPicker选择后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example08() {
  3.   try {
  4.     let DocumentSelectOptions = new picker.DocumentSelectOptions();
  5.     let documentPicker = new picker.DocumentViewPicker();
  6.     documentPicker.select(DocumentSelectOptions, (err: BusinessError, DocumentSelectResult: Array<string>) => {
  7.       if (err) {
  8.         console.error('DocumentViewPicker.select failed with err: ' + JSON.stringify(err));
  9.         return;
  10.       }
  11.       console.info('DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
  12.     });
  13.   } catch (error) {
  14.     let err: BusinessError = error as BusinessError;
  15.     console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  16.   }
  17. }
复制代码
select

select(callback: AsyncCallback<Array<string>>): void
通过选择模式拉起documentPicker界面,用户可以选择一个或多个文件。接口采用callback异步返回形式,返回选择文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明callbackAsyncCallback<Array<string>>是callback 返回documentPicker选择后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example09() {
  3.   try {
  4.     let documentPicker = new picker.DocumentViewPicker();
  5.     documentPicker.select((err: BusinessError, DocumentSelectResult: Array<string>) => {
  6.       if (err) {
  7.         console.error('DocumentViewPicker.select failed with err: ' + JSON.stringify(err));
  8.         return;
  9.       }
  10.       console.info('DocumentViewPicker.select successfully, DocumentSelectResult uri: ' + JSON.stringify(DocumentSelectResult));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
save

save(option?: DocumentSaveOptions): Promise<Array<string>>
通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件。接口采用Promise异步返回形式,传入可选参数DocumentSaveOptions对象,返回保存文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明选择DocumentSaveOptions否documentPicker保存选项,若无此参数,则拉起documentPicker界面后需用户自行输入保存的文件名 返回值:
范例说明Promise<Array<string>>Promise对象。返回documentPicker保存后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example10() {
  3.   try {
  4.     let DocumentSaveOptions = new picker.DocumentSaveOptions();
  5.     DocumentSaveOptions.newFileNames = ['DocumentViewPicker01.txt'];
  6.     let documentPicker = new picker.DocumentViewPicker();
  7.     documentPicker.save(DocumentSaveOptions).then((DocumentSaveResult: Array<string>) => {
  8.       console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult));
  9.     }).catch((err: BusinessError) => {
  10.       console.error('DocumentViewPicker.save failed with err: ' + JSON.stringify(err));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
save

save(option: DocumentSaveOptions, callback: AsyncCallback<Array<string>>): void
通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件。接口采用callback异步返回形式,传入参数DocumentSaveOptions对象,返回保存文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明选择DocumentSaveOptions是documentPicker保存选项回调AsyncCallback<Array<string>>是callback 返回documentPicker保存后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example11() {
  3.   try {
  4.     let DocumentSaveOptions = new picker.DocumentSaveOptions();
  5.     DocumentSaveOptions.newFileNames = ['DocumentViewPicker02.txt'];
  6.     let documentPicker = new picker.DocumentViewPicker();
  7.     documentPicker.save(DocumentSaveOptions, (err: BusinessError, DocumentSaveResult: Array<string>) => {
  8.       if (err) {
  9.         console.error('DocumentViewPicker.save failed with err: ' + JSON.stringify(err));
  10.         return;
  11.       }
  12.       console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult));
  13.     });
  14.   } catch (error) {
  15.     let err: BusinessError = error as BusinessError;
  16.     console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  17.   }
  18. }
复制代码
save

save(callback: AsyncCallback<Array<string>>): void
通过保存模式拉起documentPicker界面,用户可以保存一个或多个文件。接口采用callback异步返回形式,返回保存文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明callbackAsyncCallback<Array<string>>是callback 返回documentPicker保存后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example12() {
  3.   try {
  4.     let documentPicker = new picker.DocumentViewPicker();
  5.     documentPicker.save((err: BusinessError, DocumentSaveResult: Array<string>) => {
  6.       if (err) {
  7.         console.error('DocumentViewPicker.save failed with err: ' + JSON.stringify(err));
  8.         return;
  9.       }
  10.       console.info('DocumentViewPicker.save successfully, DocumentSaveResult uri: ' + JSON.stringify(DocumentSaveResult));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('DocumentViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
AudioViewPicker

音频选择器对象,用来支撑选择和保存音频类文件等用户场景。在利用前,必要先创建AudioViewPicker实例。
系统能力:SystemCapability.FileManagement.UserFileService
示例:
  1. let audioPicker = new picker.AudioViewPicker();
复制代码
select

select(option?: AudioSelectOptions): Promise<Array<string>>
通过选择模式拉起audioPicker界面(现在拉起的是documentPicker,audioPicker在规划中),用户可以选择一个或多个音频文件。接口采用Promise异步返回形式,传入可选参数AudioSelectOptions对象,返回选择音频文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionAudioSelectOptions否audioPicker音频选择选项,若无此参数,则默认拉起audioPicker主界面 返回值:
范例说明Promise<Array<string>>Promise对象。返回audioPicker选择音频后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example13() {
  3.   try {
  4.     let AudioSelectOptions = new picker.AudioSelectOptions();
  5.     let audioPicker = new picker.AudioViewPicker();
  6.     audioPicker.select(AudioSelectOptions).then((AudioSelectResult: Array<string>) => {
  7.       console.info('AudioViewPicker.select successfully, AudioSelectResult uri: ' + JSON.stringify(AudioSelectResult));
  8.     }).catch((err: BusinessError) => {
  9.       console.error('AudioViewPicker.select failed with err: ' + JSON.stringify(err));
  10.     });
  11.   } catch (error) {
  12.     let err: BusinessError = error as BusinessError;
  13.     console.error('AudioViewPicker failed with err: ' + JSON.stringify(err));
  14.   }
  15. }
复制代码
select

select(option: AudioSelectOptions, callback: AsyncCallback<Array<string>>): void
通过选择模式拉起audioPicker界面(现在拉起的是documentPicker,audioPicker在规划中),用户可以选择一个或多个音频文件。接口采用callback异步返回形式,传入参数AudioSelectOptions对象,返回选择音频文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionAudioSelectOptions是audioPicker音频选择选项callbackAsyncCallback<Array<string>>是callback 返回audioPicker选择音频后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example14() {
  3.   try {
  4.     let AudioSelectOptions = new picker.AudioSelectOptions();
  5.     let audioPicker = new picker.AudioViewPicker();
  6.     audioPicker.select(AudioSelectOptions, (err: BusinessError, AudioSelectResult: Array<string>) => {
  7.       if (err) {
  8.         console.error('AudioViewPicker.select failed with err: ' + JSON.stringify(err));
  9.         return;
  10.       }
  11.       console.info('AudioViewPicker.select successfully, AudioSelectResult uri: ' + JSON.stringify(AudioSelectResult));
  12.     });
  13.   } catch (error) {
  14.     let err: BusinessError = error as BusinessError;
  15.     console.error('AudioViewPicker failed with err: ' + JSON.stringify(err));
  16.   }
  17. }
复制代码
select

select(callback: AsyncCallback<Array<string>>): void
通过选择模式拉起audioPicker界面(现在拉起的是documentPicker,audioPicker在规划中),用户可以选择一个或多个音频文件。接口采用callback异步返回形式,返回选择音频文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明回调AsyncCallback<Array<string>>是callback 返回audioPicker选择音频后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example15() {
  3.   try {
  4.     let audioPicker = new picker.AudioViewPicker();
  5.     audioPicker.select((err: BusinessError, AudioSelectResult: Array<string>) => {
  6.       if (err) {
  7.         console.error('AudioViewPicker.select failed with err: ' + JSON.stringify(err));
  8.         return;
  9.       }
  10.       console.info('AudioViewPicker.select successfully, AudioSelectResult uri: ' + JSON.stringify(AudioSelectResult));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('AudioViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
save

save(option?: AudioSaveOptions): Promise<Array<string>>
通过保存模式拉起audioPicker界面(现在拉起的是documentPicker,audioPicker在规划中),用户可以保存一个或多个音频文件。接口采用Promise异步返回形式,传入可选参数AudioSaveOptions对象,返回保存音频文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明选择AudioSaveOptions否audioPicker保存音频文件选项,若无此参数,则拉起audioPicker界面后需用户自行输入保存的文件名 返回值:
范例说明Promise<Array<string>>Promise对象。返回audioPicker保存音频文件后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example16() {
  3.   try {
  4.     let AudioSaveOptions = new picker.AudioSaveOptions();
  5.     AudioSaveOptions.newFileNames = ['AudioViewPicker01.mp3'];
  6.     let audioPicker = new picker.AudioViewPicker();
  7.     audioPicker.save(AudioSaveOptions).then((AudioSaveResult: Array<string>) => {
  8.       console.info('AudioViewPicker.save successfully, AudioSaveResult uri: ' + JSON.stringify(AudioSaveResult))
  9.     }).catch((err: BusinessError) => {
  10.       console.error('AudioViewPicker.save failed with err: ' + JSON.stringify(err));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('AudioViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
save

save(option: AudioSaveOptions, callback: AsyncCallback<Array<string>>): void
通过保存模式拉起audioPicker界面(现在拉起的是documentPicker,audioPicker在规划中),用户可以保存一个或多个音频文件。接口采用callback异步返回形式,传入参数AudioSaveOptions对象,返回保存音频文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明optionAudioSaveOptions是audioPicker保存音频文件选项callbackAsyncCallback<Array<string>>是callback 返回audioPicker保存音频文件后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example17() {
  3.   try {
  4.     let AudioSaveOptions = new picker.AudioSaveOptions();
  5.     AudioSaveOptions.newFileNames = ['AudioViewPicker02.mp3'];
  6.     let audioPicker = new picker.AudioViewPicker();
  7.     audioPicker.save(AudioSaveOptions, (err: BusinessError, AudioSaveResult: Array<string>) => {
  8.       if (err) {
  9.         console.error('AudioViewPicker.save failed with err: ' + JSON.stringify(err));
  10.         return;
  11.       }
  12.       console.info('AudioViewPicker.save successfully, AudioSaveResult uri: ' + JSON.stringify(AudioSaveResult));
  13.     });
  14.   } catch (error) {
  15.     let err: BusinessError = error as BusinessError;
  16.     console.error('AudioViewPicker failed with err: ' + JSON.stringify(err));
  17.   }
  18. }
复制代码
save

save(callback: AsyncCallback<Array<string>>): void
通过保存模式拉起audioPicker界面(现在拉起的是documentPicker,audioPicker在规划中),用户可以保存一个或多个音频文件。接口采用callback异步返回形式,返回保存音频文件的uri数组。
留意:此接口返回的uri数组的具体利用方式参见用户文件uri介绍中的文档类uri的利用方式。
系统能力:SystemCapability.FileManagement.UserFileService
参数:
参数名范例必填说明callbackAsyncCallback<Array<string>>是callback 返回audioPicker保存音频文件后的效果集 示例:
  1. import { BusinessError } from '@ohos.base';
  2. async function example18() {
  3.   try {
  4.     let audioPicker = new picker.AudioViewPicker();
  5.     audioPicker.save((err: BusinessError, AudioSaveResult: Array<string>) => {
  6.       if (err) {
  7.         console.error('AudioViewPicker.save failed with err: ' + JSON.stringify(err));
  8.         return;
  9.       }
  10.       console.info('AudioViewPicker.save successfully, AudioSaveResult uri: ' + JSON.stringify(AudioSaveResult));
  11.     });
  12.   } catch (error) {
  13.     let err: BusinessError = error as BusinessError;
  14.     console.error('AudioViewPicker failed with err: ' + JSON.stringify(err));
  15.   }
  16. }
复制代码
PhotoViewMIMETypes

枚举,可选择的媒体文件范例。
系统能力: SystemCapability.FileManagement.UserFileService
名称值说明IMAGE_TYPE'image/*'图片范例VIDEO_TYPE'video/*'视频范例IMAGE_VIDEO_TYPE'*/*'图片和视频范例 PhotoSelectOptions

图库选择选项。
系统能力: SystemCapability.FileManagement.UserFileService
名称范例必填说明MIMETypePhotoViewMIMETypes否可选择的媒体文件范例,若无此参数,则默认为图片和视频范例maxSelectNumbernumber否选择媒体文件数量的最大值(默认值为50,最大值为500) PhotoSelectResult

返回图库选择后的效果集。
系统能力: SystemCapability.FileManagement.UserFileService
名称范例可读可写说明photoUris数组<字符串>是是返回图库选择后的媒体文件的uri数组,此uri数组只能通过暂时授权的方式调用photoAccessHelper.getAssets接口去利用,具体利用方式参见用户文件uri介绍中的媒体文件uri的利用方式。isOriginalPhoto布尔是是返回图库选择后的媒体文件是否为原图。 PhotoSaveOptions

图片或视频的保存选项。
系统能力: SystemCapability.FileManagement.UserFileService
名称范例必填说明newFileNames数组<字符串>否拉起photoPicker进行保存图片或视频资源的文件名,若无此参数,则默认必要用户自行输入 DocumentSelectOptions

文档选择选项。
系统能力: SystemCapability.FileManagement.UserFileService
名称范例必填说明maxSelectNumber10+数否选择文件/目次最大个数,上限500,有效值范围1-500defaultFilePathUri10+字符串否指定选择的文件或者目次路径fileSuffixFilters10+数组<字符串>否选择文件的后缀范例,若选择项存在多个后缀名,则每一个后缀名之间用英文逗号进行分隔 DocumentSaveOptions

文档保存选项。
系统能力: SystemCapability.FileManagement.UserFileService
名称范例必填说明newFileNames数组<字符串>否拉起documentPicker进行保存的文件名,若无此参数,则默认必要用户自行输入defaultFilePathUri10+字符串否指定保存的文件或者目次路径fileSuffixChoices10+数组<字符串>否保存文件的后缀范例 AudioSelectOptions

音频选择选项,现在不支持参数设置。
系统能力: SystemCapability.FileManagement.UserFileService
AudioSaveOptions

音频的保存选项。
系统能力: SystemCapability.FileManagement.UserFileService
名称范例必填说明newFileNames数组<字符串>否拉起audioPicker进行保存音频资源的文件名,若无此参数,则默认必要用户自行输入 最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道必要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 
这份鸿蒙(HarmonyOS NEXT)资料包罗了鸿蒙开发必掌握的焦点知识要点,内容包罗了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
希望这一份鸿蒙学习资料能够给各人带来帮助,有必要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
获取这份完备版高清学习门路,请点击→纯血版全套鸿蒙HarmonyOS学习资料
鸿蒙(HarmonyOS NEXT)最新学习门路




  •  HarmonOS基础技能



  • HarmonOS就业必备技能 

  •  HarmonOS多媒体技术



  • 鸿蒙NaPi组件进阶



  • HarmonOS高级技能



  • 初识HarmonOS内核 

  • 实战就业级设备开发

有了门路图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布条记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包罗:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完备版高清学习门路,请点击→纯血版全套鸿蒙HarmonyOS学习资料
《鸿蒙 (OpenHarmony)开发入门教学视频》


《鸿蒙生态应用开发V2.0白皮书》


《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发情况搭建

 《鸿蒙开发基础》



  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

 《鸿蒙开发进阶》



  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来筹划
  • 鸿蒙系统移植和裁剪定制
  • ……

《鸿蒙进阶实战》



  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

 获取以上完备鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料
总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个时机。只有积极应对变革,不断学习和提升自己,他们才华在这个变革的期间中立于不败之地。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表