这边使用官网上的demo,可以成功获取到拍照后的URI,调用fileIo.openSync方法也是成功的,日志信息如下:the pick pickerResult is:{"resultCode":0,"resultUri":"file://media/Photo/3/IMG_1721732169_000/IMG_20240723_185429.jpg","mediaType":"photo"} demo如下:import { common } from '@kit.AbilityKit'; import { camera, cameraPicker } from '@kit.CameraKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { fileIo } from '@kit.CoreFileKit'; let context = getContext(this) as common.Context; async function startCameraPicker() { try { let pickerProfile: cameraPicker.PickerProfile = { cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK }; let pickerResult: cameraPicker.PickerResult = await cameraPicker.pick(context, [cameraPicker.PickerMediaType.PHOTO, cameraPicker.PickerMediaType.VIDEO], pickerProfile); console.log("the pick pickerResult is:" + JSON.stringify(pickerResult)); let file = fileIo.openSync(pickerResult.resultUri,fileIo.OpenMode.READ_ONLY); console.log("the pick file is:" + file); } catch (error) { let err = error as BusinessError; console.error(`the pick call failed. error code: ${err.code}`); } } @Entry @Component struct linshi { build() { Column() { Button("点击拉起相机") .onClick(() => startCameraPicker()) } .width("100%") .height("100%") .justifyContent(FlexAlign.Center) .alignItems(HorizontalAlign.Center) } }
这边使用官网上的demo,可以成功获取到拍照后的URI,调用fileIo.openSync方法也是成功的,日志信息如下:
demo如下: