HarmonyOS cameraPicker相机设置图片保存路径不生效

使用相机拍照设置保存图片路径不生效,代码如下:

let saveUri = this.context.filesDir   //换做其它路径也不行,比如:tempDir、cacheDir等
let pickerProfile: cameraPicker.PickerProfile = {
  cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK,
  saveUri        //如果不设置此保存路径,结果返回的是公共媒体路径是正常的
};
let pickerResult: cameraPicker.PickerResult = await cameraPicker.pick(this.context,[cameraPicker.PickerMediaType.PHOTO], pickerProfile)
//pickerResult.resultCode 为-1

返回结果失败,拿不到图片路径,尝试了沙盒多种目录都不行,想问下这个路径的格式、权限等有什么要求。如果不设置saveUri返回的是公共媒体路径正常。

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

此处需要传入具体的文件,此接口是写入数据,不能直接生成。

参考示例如下:

import { camera, cameraPicker as picker } from '@kit.CameraKit';
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { fileUri } from '@kit.CoreFileKit';
import { fileIo as fs } from '@kit.CoreFileKit';

async function demo() {
  let filesDir: string | undefined = getContext().filesDir;
  let currentTime: number = new Date().getTime();
  let tempUri = fileUri.getUriFromPath(filesDir + '/' + currentTime + ".jpg");
  await fs.open(tempUri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
  try {
    let pickerProfile: picker.PickerProfile = {
      cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK,
      saveUri: tempUri
    };
    let pickerResult: picker.PickerResult = await picker.pick(mContext,
      [picker.PickerMediaType.PHOTO, picker.PickerMediaType.VIDEO], pickerProfile);
    console.log("the pick pickerResult is:" + JSON.stringify(pickerResult));
  } catch (error) {
    let err = error as BusinessError;
    console.error(`the pick call failed. error code: ${err.code}`);
  }
}
分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 相机设置对焦点,没有效果
34浏览 • 1回复 待解决
ConstraintSize尺寸设置生效
2413浏览 • 1回复 待解决
HarmonyOS stack设置圆角生效
106浏览 • 1回复 待解决
HarmonyOS Panel 设置 borderRadius 生效
720浏览 • 1回复 待解决
HarmonyOS调用相机设备API获取失败问题
471浏览 • 1回复 待解决
通过WindowProperties设置属性生效
2190浏览 • 1回复 待解决
HarmonyOS Badge文本颜色设置生效
309浏览 • 1回复 待解决
HarmonyOS 设置安全区域生效
61浏览 • 1回复 待解决
HarmonyOS 设置了icon和label生效
367浏览 • 1回复 待解决
Tab 设置 barBackgroundColor为透明生效
309浏览 • 1回复 待解决
List组件的initialIndex属性设置生效
2294浏览 • 1回复 待解决