Flutter从存储中获取所有文件和文件夹

zynd9foi  于 2022-11-17  发布在  Flutter
关注(0)|答案(1)|浏览(188)

我正在开发应用程序,为此,我需要从存储中获取所有文件,可以是mp3,img pdf或任何文件。我遵循了一个教程,他们在flutter_file_manager上工作。这个包已经停产

jv4diomz

jv4diomz1#

您可以使用file_picker软件包来代替。此外,您可能需要将path_provider软件包与file_picker软件包沿着使用。完整的文档和示例可以在上述软件包的发布页面上找到。
下面是一些代码示例:
要拾取单个文件,请执行以下操作:

FilePickerResult? result = await FilePicker.platform.pickFiles();

if (result != null) {
  File file = File(result.files.single.path);
} else {
  // User canceled the picker
}

要选取多个文件,请执行以下操作:

FilePickerResult? result = await FilePicker.platform.pickFiles(allowMultiple: true);

if (result != null) {
  List<File> files = result.paths.map((path) => File(path)).toList();
} else {
  // User canceled the picker
}

要使用扩展名过滤器选取多个文件:

FilePickerResult? result = await FilePicker.platform.pickFiles(
  type: FileType.custom,
  allowedExtensions: ['jpg', 'pdf', 'doc'],
);

要选择目录:

String? selectedDirectory = await FilePicker.platform.getDirectoryPath();

if (selectedDirectory == null) {
  // User canceled the picker
}

path_provider包的用法:

Directory tempDir = await getTemporaryDirectory();
String tempPath = tempDir.path;

Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;

相关问题