HarmonyOS cameraPicker拍摄的资源能否控制不存储在系统相册中?

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

可以通过cameraPicer接口提供的saveUri参数传入指定的保存路径,这个路径只支持指定沙箱路径下的保存路径,而且要保存文件到指定的沙箱路径的前提是需要应用首先在沙箱路径下创建一个可写的空文件然后授权给相机,因为这个uri是三方给系统相机授权文件访问,如果没有创建可写的空文件,直接扔个uri,相机这边是没法在沙箱内创建文件的,因为没授权。

示例参考:

async function demo() {
  try {
    let pathDir = getContext().filesDir;
    console.log('存在'+pathDir)
    let filePath = pathDir + `/test.jpg`
    fs.createRandomAccessFileSync(filePath, fs.OpenMode.CREATE);
    let uri = fileuri.getUriFromPath(filePath);
    let pickerProfile: picker.PickerProfile = {
      cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK,
      saveUri:uri
    };
    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
微信
回复
1天前
相关问题
每个HAR资源能否允许重名?
1054浏览 • 1回复 待解决
通过相册名获取相册资源
813浏览 • 1回复 待解决
HarmonyOS 应用跳转系统相册
263浏览 • 1回复 待解决
HarmonyOS能否提供数据存储样例工程
381浏览 • 1回复 待解决