HarmonyOS 拍照相关问题

// 拍照
async takePhoto() {
  let cacheDir = getContext(this).cacheDir
  try {
    let pickerProfile: picker.PickerProfile = {
      cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK,
      saveUri: cacheDir + '/' +RandomUtil.randomInt() + '.jpg'
    };
    let pickerResult: picker.PickerResult = await picker.pick(mContext,
      [picker.PickerMediaType.PHOTO], pickerProfile);
    if(pickerResult['resultCode'] == 0) {
      this.photoUri = pickerResult['resultUri']
    }
  } catch (error) {
    let err = error as BusinessError;
    console.error(`the pick call failed. error code: ${err.code}`);
  }
}

结果拿到的resultUri是空的, 请问是saveUri是没有权限吗?

HarmonyOS
2024-12-25 15:36:27
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

请参考下面demo来修改:

import picker from '@ohos.multimedia.cameraPicker'
import camera from '@ohos.multimedia.camera';
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
import fileuri from '@ohos.file.fileuri';
import fs from '@ohos.file.fs';
let mContext = getContext(this) as common.Context;
class CameraPosition {
  cameraPosition : camera.CameraPosition
  saveUri :string
  constructor(cameraPosition : camera.CameraPosition,saveUri:string) {
    this.cameraPosition = cameraPosition
    this.saveUri = saveUri
  }
}
let pathDir = getContext().filesDir;
let filePath = pathDir + `/${new Date().getTime()}.jpg`
fs.createRandomAccessFileSync(filePath, fs.OpenMode.CREATE);
let uri = fileuri.getUriFromPath(filePath);
async function takePhoto() {
  try {
    let pickerProfile = new CameraPosition(camera.CameraPosition.CAMERA_POSITION_BACK,uri)
    //前置摄像机传CAMERA_POSITION_FRONT,后置摄像机传CAMERA_POSITION_BACK,saveuri传想存到对应沙箱的uri
    let pickerResult: picker.PickerResult = await picker.pick(mContext, [picker.PickerMediaType.PHOTO], 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
微信
回复
2024-12-25 18:15:33
相关问题
HarmonyOS 调用相机拍照问题
268浏览 • 1回复 待解决
关于如何使用相机拍照模块拍照问题
1987浏览 • 0回复 待解决
HarmonyOS 相机拍照镜头问题
165浏览 • 1回复 待解决
HarmonyOS 证书相关问题
608浏览 • 1回复 待解决
HarmonyOS string相关问题
331浏览 • 1回复 待解决
HarmonyOS 线程相关问题
777浏览 • 1回复 待解决
HarmonyOS AccountKit相关问题
775浏览 • 1回复 待解决
HarmonyOS Lib相关问题
92浏览 • 1回复 待解决
HarmonyOS KVStore 相关问题
490浏览 • 1回复 待解决
HarmonyOS Grid相关问题
681浏览 • 1回复 待解决
HarmonyOS Worker相关问题
361浏览 • 1回复 待解决
HarmonyOS BindSheet相关问题
771浏览 • 1回复 待解决
HarmonyOS 相机旋转横屏拍照问题
474浏览 • 1回复 待解决
HarmonyOS 拍照返回uri转bitmap问题
683浏览 • 1回复 待解决
HarmonyOS @Event相关问题
419浏览 • 1回复 待解决
HarmonyOS 混淆相关问题
358浏览 • 1回复 待解决
HarmonyOS RN相关问题
838浏览 • 1回复 待解决
HarmonyOS 打包相关问题
348浏览 • 1回复 待解决
HarmonyOS 地图相关问题
1011浏览 • 1回复 待解决
适配HarmonyOS相关问题
360浏览 • 1回复 待解决
HarmonyOS RelativeContainer相关问题
105浏览 • 1回复 待解决
HarmonyOS PushExtensionAbility相关问题
326浏览 • 1回复 待解决
HarmonyOS音频相关问题
923浏览 • 1回复 待解决