showAssetsCreationDialog 获取的路径无法保存 报错 13900001 HarmonyOS 鸿蒙Next

showAssetsCreationDialog 获取的路径无法保存 报错 13900001 HarmonyOS 鸿蒙Next

let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(getContext());
let desFileUris: Array<string> = await phAccessHelper.showAssetsCreationDialog(srcFileUris, photoCreationConfigs);

使用上述代码通过弹窗获取可以保存到相册的路径后 打印出来确实是有地址的desFileUris:file://media/Photo/136/IMG_1740636881_126/IMG_126.jpg

但是调用fs.openSync打开这个地址报错 errCode is 13900001, errMsg is Operation not permitted

let file2 = fs.openSync(desFileUris[0], fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);

权限改为READ_ONLY都不行


更多关于showAssetsCreationDialog 获取的路径无法保存 报错 13900001 HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

分解了拆到小demo里都没问题 返回值也一样 查半天查不出问题 , 结果最后卸载原应用再重装就好了

更多关于showAssetsCreationDialog 获取的路径无法保存 报错 13900001 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,showAssetsCreationDialog 方法用于显示资源创建对话框,通常用于获取用户选择的文件或路径。错误码 13900001 表示操作失败,可能是由于权限问题、路径无效或系统限制导致的。

  • 权限问题:确保应用已获取必要的文件读写权限。在 config.json 中声明 ohos.permission.FILE_ACCESSohos.permission.MEDIA_LOCATION 权限,并在运行时请求用户授权。

  • 路径无效:检查 showAssetsCreationDialog 返回的路径是否有效。确保路径在应用沙箱内或外部存储的合法范围内。

  • 系统限制:某些系统路径可能受限制,无法直接访问或保存。尝试使用 File API 提供的合法路径进行操作。

  • API 使用:确认 showAssetsCreationDialog 的使用方式正确,参数配置是否符合预期。

  • 日志排查:通过日志查看详细错误信息,进一步定位问题。

如果问题持续,可参考官方文档或社区资源获取更多信息。

回到顶部