HarmonyOS 鸿蒙Next中{"code":13900002}No such file or directory
HarmonyOS 鸿蒙Next中{“code”:13900002}No such file or directory 这边遇到一个图片路径获取的问题。报错{“code”:13900002}No such file or directory。我通过image()时,图片能在模拟器对应的app上显示出来。但是通过const file = await fileIo.open(‘yourFilePath’, fs.OpenMode.READ_ONLY);就报错了,到底是什么原因?图片是通过import { photoAccessHelper } from ‘@kit.MediaLibraryKit’;获取的
更多关于HarmonyOS 鸿蒙Next中{"code":13900002}No such file or directory的实战教程也可以访问 https://www.itying.com/category-93-b0.html
解决了,上传文件到服务器时,不能直接访问原始路径,要复制一份到沙箱环境,通过读取沙箱环境对应的路径,用沙箱里面的路径上传。真服了你们工单系统里面的老六,没有一个能解决问题!真是一帮草台班子
更多关于HarmonyOS 鸿蒙Next中{"code":13900002}No such file or directory的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,错误代码13900002表示系统无法找到指定的文件或目录。该错误通常由文件路径错误、资源未正确打包或权限配置问题导致。请检查应用资源文件是否存在,确认路径拼写无误,并验证文件是否已正确部署至应用沙箱目录。若使用资源管理器API,需确保调用方法符合鸿蒙API规范。
在HarmonyOS Next中,错误码13900002
表示文件路径不存在或无法访问。根据你的描述,问题可能出现在以下几个方面:
-
路径格式问题:
fileIo.open()
需要的是文件在设备上的绝对路径,而通过photoAccessHelper
获取的URI或路径可能不是直接可用的文件系统路径。你需要使用photoAccessHelper.getAssets()
或其他方法获取实际的文件路径。 -
权限问题:确保应用已申请并获取了媒体库访问权限(
ohos.permission.READ_IMAGEVIDEO
或ohos.permission.WRITE_IMAGEVIDEO
)。即使模拟器中图片能显示,fileIo
操作仍需要显式权限。 -
路径转换问题:
photoAccessHelper
返回的可能是资源标识符或URI,需通过get()
或open()
方法转换为实际路径。例如:const asset = await photoAccessHelper.getAssets(photoAccessHelper.PhotoKeys.URI, value); const file = await fileIo.open(asset.uri, fs.OpenMode.READ_ONLY);
-
沙箱路径限制:应用可能只能访问沙箱内路径,而媒体库文件不在沙箱内。需通过
photoAccessHelper
的接口打开文件流,而非直接使用fileIo
。
建议检查路径是否正确转换为实际文件路径,并确认权限已配置。如果问题仍存在,可尝试使用 photoAccessHelper.open()
直接获取文件资源。