我在 Windows 上使用 Dart/Flutter。
我正在使用文件系统选择器和文件选择器 Windows。
我需要选择一个文件夹并返回文件夹完整路径。
我的步骤是:
另外,如果我不选择文件夹并在文件夹选择弹出窗口中单击“取消”,则会收到此错误:您必须指定“rootDirectory”或“快捷方式”,但不能同时指定两者
你能帮忙吗?谢谢你
这是我的代码:
myfolderSelectFunction() {
final m = DirectoryPicker()..title = 'Select a directory';
final result = m.getDirectory();
FilesystemPicker(rootDirectory: result, fsType: FilesystemType.all, onSelect: (String value) {
myFolderpath = value;
});
return myFolderpath;
}
这表明 FilesystemPicker 需要指定 rootDirectory 或快捷方式列表,但不能同时指定两者。将此称为 参考此链接
为了使用户能够在 Flutter 应用程序中选择和检索其路径,您可以使用 filesystem_picker 包。例如:
import 'package:filesystem_picker/filesystem_picker.dart';
import 'package:path_provider/path_provider.dart';
import 'package:flutter/material.dart';
Future<String?> selectFolder(BuildContext context) async {
// Obtain the root directory (ex., external storage dir)
final Directory? rootDirectory = await getExternalStorageDirectory();
// if root dir not avalable
if (rootDirectory == null) {
return null;
}
// Open the filesystem picker
return await FilesystemPicker.open(
title: 'Select a Directory',
context: context,
rootDirectory: rootDirectory,
fsType: FilesystemType.folder,
pickText: 'Select this folder',
);
}
希望这有帮助。