HarmonyOS鸿蒙Next flutter-oh sdk 找不到这个路径的文件

HarmonyOS鸿蒙Next flutter-oh sdk 找不到这个路径的文件

AssetEntity(id: file://media/Photo/7/IMG_1723111754_005/IMG_20240808_180734_2.jpg , type: AssetType.image) 这个路径的文件找不到:file://media/Photo/7/IMG_1723111754_005/IMG_20240808_180734_2.jpg
3 回复

请您连接真机启动项目后,先打开IDE右下角的"Device Flie Browser"工具,依次点击storage-media-100-local-files-Photo下是否存在这个7/IMG_1723111754_005/IMG_20240808_180734_2.jpg目录及图片,如果确实存在而未找到这个文件,请尝试将文件拷贝到沙箱目录下,再获取沙箱下的文件试试,如果还是不行,请提供最小可复现demo,和设备的版本信息

dart代码只能读取到沙箱地址,该路径为文件的真实地址:file://media/Photo/7/IMG_1723111754_005/IMG_20240808_180734_2.jpg,文件找不到可能是因为沙箱地址和文件真实地址不对应,请排查下,真实路径与沙箱路径的转换关系请参考链接

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-sandbox-directory-V5

我们在beta2的齐套版本上,运行flutter demo : flutter_photo_manager\flutter_photo_manager\example能正常调取相册照片,“这个路径的文件找不到:file://media/Photo/7/IMG_1723111754_005/IMG_20240808_180734_2.jpg”,具体在dart代码哪个地方用到出了问题,有无报错信息,dart上,您用什么方法读的

arkts的fs.copyFile(srcdir, directory + ‘testcopy.txt’) 拷贝沙箱下面的

如果是公共目录比如文管或者图库里的,需要用picker选择到对应的文件,会返回对应的文件uri,并附带文件的操作权限

图库要先用媒体那边的photoPicker拿到文件uri和权限,再用fs操作

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-photoaccesshelper-V5#photoviewpicker

同理公共目录file://media/Photo/7/IMG_1723111754_005/IMG_20240808_180734_2.jpg是无法直接被dart的Image组件直接操作的。请参考photo_manager的用法

更多关于HarmonyOS鸿蒙Next flutter-oh sdk 找不到这个路径的文件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在HarmonyOS鸿蒙Next中,使用Flutter-Oh SDK时找不到指定路径的文件,可能是由于以下原因之一:

  1. 路径错误:检查文件路径是否正确,确保路径在项目中存在。
  2. 文件未同步:确认文件已同步到项目目录中,特别是在使用外部工具或IDE时。
  3. SDK配置问题:检查Flutter-Oh SDK的配置文件,确保路径配置正确。
  4. 权限问题:确认文件或目录的访问权限是否足够。

解决步骤:

  1. 重新检查文件路径。
  2. 确保文件已正确同步到项目。
  3. 检查并更新Flutter-Oh SDK的配置文件。
  4. 验证文件或目录的访问权限。

在HarmonyOS鸿蒙Next中使用Flutter-oh SDK时,若提示找不到路径的文件,可能是以下原因:

  1. SDK路径配置错误,请检查local.properties文件中的sdk.dir是否正确指向Flutter-oh SDK位置。

  2. 未正确安装或配置Flutter-oh SDK,需确保SDK已完整安装并配置环境变量。

  3. 项目依赖未正确同步,可尝试运行flutter pub get重新同步依赖。

  4. 检查项目结构,确保文件路径与引用一致。

回到顶部