HarmonyOS鸿蒙Next中flutter_image_gallery_saver保存图片/视频失败 13900002

HarmonyOS鸿蒙Next中flutter_image_gallery_saver保存图片/视频失败 13900002 使用flutter开发鸿蒙应用,使用官方推荐的image_gallery_saver保存图片或者视频会报错:save failed, errCode is 13900002, errMsg is No such file or directory 。

文件参考地址:/data/storage/el2/base/cache/35456cfb-9ae5-41e3-9c43-df253c3a6119.jpg

通过file验证文件是存在的,且数据长度大于0

3 回复

开发者你好,请提供以下信息:

  1. 复现代码(如最小复现demo),是否方便提供下代码片段,您是怎么保存的图片;

  2. 版本信息(如:开发工具、手机系统版本信息以及flutter版本信息);

更多关于HarmonyOS鸿蒙Next中flutter_image_gallery_saver保存图片/视频失败 13900002的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在HarmonyOS Next中,flutter_image_gallery_saver保存失败(错误码13900002)通常由权限配置或存储路径问题导致。需检查应用是否声明了ohos.permission.WRITE_IMAGEVIDEO和ohos.permission.READ_IMAGEVIDEO权限,并在module.json5中正确配置requestPermissions字段。同时确认设备存储空间充足,且未启用加密文件访问限制。若使用沙箱路径,需通过Picker或MediaLibrary API获取合法文件URI。

这个错误代码13900002表示文件路径不存在或无法访问。虽然你通过File验证文件存在,但问题可能出现在几个方面:

  1. 权限问题:确保在module.json5中声明了正确的存储权限:
"requestPermissions": [
  {
    "name": "ohos.permission.READ_MEDIA",
    "reason": "$string:reason"
  },
  {
    "name": "ohos.permission.WRITE_MEDIA", 
    "reason": "$string:reason"
  }
]
  1. 路径格式问题:鸿蒙Next对文件路径访问有严格限制,尝试使用绝对路径时可能需要通过FileManager API获取合法路径。

  2. 沙箱限制:应用可能无法直接访问指定路径,建议使用HarmonyOS提供的媒体库接口来保存文件:

// 使用MediaLibrary代替直接文件操作
final picker = MediaLibrary();
// 执行保存操作
  1. 缓存文件生命周期:检查文件是否在保存过程中被系统清理。

建议使用HarmonyOS原生的媒体存储API来替代flutter_image_gallery_saver,这样可以避免路径权限问题。

回到顶部