使用 dart 将 Uri 转换为绝对路径

问题描述

保存时我只从 file_picker 获取一个 uri。但是为了显示正确的路径,我需要文件绝对路径。不幸的是,我还没有找到可行的解决方案。不幸的是,库 Flutter_absolute_path 似乎不再适用于新的 Android 版本。 有谁知道我如何获得文件绝对路径

示例:

  • content://com.android.providers.downloads.documents/document/297
  • 转换为:
  • /data/user/0/xxx/cache/dummy1.png

解决方法

查看 dart:core 包的 toFilePath() 方法,看看它是否能解决您的问题。

,

我也是这么想的。但不幸的是,我得到了一个例外。

测试代码:

//uri output from file picker (fileInfo.identifier)
var uriPath = "content://com.android.providers.downloads.documents/document/297";
var uri = Uri.parse(uriPath);
print(uri.toFilePath());

异常 -> 不支持的操作:无法从内容 URI 中提取文件路径