HarmonyOS 鸿蒙拍照求助,提示获取图片不存在

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙拍照求助,提示获取图片不存在

使用cameraPicker调用相机进行拍照,并返回图片的uri,但是通过fs获取图片时,一直提示图片不存在。

拍照代码:

cke_2927.png

cke_14889.png

获取图片代码,先判断了图片是否存在,一直是file not exists

cke_1651.png

cke_12810.png

6 回复
楼主您好,你可以fs.open接口拿到文件的fd,然后通过read和wirte接口将数据读取和写出到一个应用沙箱路径再去获取。

cke_124.png

是不是因为这个

对,判断文件存在的方法好像是只能判断沙箱的。。。

给pick加一个saveUri,存到沙箱里边再操作

您好,可以参考一下三方库eftoolCameraUtil.picker();方法,调起拍照后将字符串转换成arraybuffer上传

let fileUriObject = new fileUri.FileUri(str);

let name = fileUriObject.name;

let file = fs.openSync(str, fs.OpenMode.READ_ONLY);

//读取文件大小

let info = fs.statSync(file.fd);

//缓存照片数据

let bufferImg: ArrayBuffer = new ArrayBuffer(info.size); fs.closeSync(file);

//上传

let upName = await this.testUpload(bufferImg, name);

针对您提出的HarmonyOS鸿蒙拍照后提示获取图片不存在的问题,这通常是由于图片存储或访问权限设置不当导致的。以下是一些可能的解决方案:

  1. 确认图片存储路径:确保拍照后图片被正确存储到指定位置,并且该位置对您的应用具有可读权限。您可以尝试将图片保存到应用的沙箱路径,或者确保您的应用具有访问外部存储的权限。
  2. 检查权限设置:请确认您的应用已正确申请并获得了存储和相机权限。在HarmonyOS中,这些权限通常在应用的“权限管理”中设置。
  3. 使用正确的URI:确保您使用的URI是指向有效图片文件的路径。如果URI不正确或已失效,将无法访问到图片。
  4. 尝试重启设备:有时设备系统更新或缓存问题可能导致图片访问异常,尝试重启设备可能有助于解决问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部