如何打开原生文件浏览器来定位flutter中的目录?

Nad*_*que 8 dart flutter

有没有办法调用本机文件资源管理器并获取所选的目录路径?

小智 3

我一直在寻找同样的东西,但找不到 UI 类型的插件,所以我构建了一个或多或少是文件资源管理器的页面。我利用flutter_file_manager插件获取所需目录中的文件列表,然后通过 ListView.builder 将(未来的)列表返回到一系列 ListTile 中。

List<FileSystemEntity> _fileList;

Future<void> _loadFiles() async {
  _loadingFiles = true;

  var root = await getExternalStorageDirectory();
  _fileList = await FileManager(root: root).walk().toList();

  _loadingFiles = false;

  this.setState(() {});
}
Run Code Online (Sandbox Code Playgroud)

一旦你有了 _fileList 对象,你几乎可以做任何你想做的事情。例如,我在 AppBar 中添加了一个 PopupMenuButton,在该按钮下我允许文件删除、打开等。

对于 _fileList 列表中的每个项目,您还可以在 ListTile 中显示文件名、大小、修改日期等。