请参考:import { picker } from '@kit.CoreFileKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { router } from '@kit.ArkUI'; @Entry @Component struct Index{ @State selectedUri: string = ''; choosePhoto() { try { let photoSelectOptions: picker.PhotoSelectOptions = new picker.PhotoSelectOptions(); // 过滤选择媒体文件类型为VIDEO photoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; photoSelectOptions.maxSelectNumber = 1; // 选择媒体文件的最大数目 // photoSelectOptions = true; // photoSelectOptions.isPhotoTakingSupported = true; let photoPicker = new picker.PhotoViewPicker() let uris: Array<string> = []; photoPicker.select(photoSelectOptions).then((PhotoSelectResult: picker.PhotoSelectResult) => { console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ' + JSON.stringify(PhotoSelectResult)); uris = PhotoSelectResult.photoUris; this.selectedUri = uris[0]; }) //断点测试时发现在调用时,会到这里面报错 .catch((err: BusinessError) => { console.error(`picker.select failed with err: ${err.code}, ${err.message}`); }); } catch (error) { let err: BusinessError = error as BusinessError; } } build() { Column() { Image(this.selectedUri) .width('100%') .height(600) Button("选择图片").width(150).height(35).margin(8) .onClick(() => { this.choosePhoto() }) } } }
请参考: