您必须指定“rootDirectory”或“快捷方式”,但不能同时指定两者

问题描述 投票:0回答:1

我在 Windows 上使用 Dart/Flutter。

我正在使用文件系统选择器和文件选择器 Windows。

我需要选择一个文件夹并返回文件夹完整路径。

我的步骤是:

  1. 要求用户选择一个文件夹
  2. 我收到弹出窗口来选择文件夹
  3. 问题在于选择文件夹后文件夹路径变量仍然为空。

另外,如果我不选择文件夹并在文件夹选择弹出窗口中单击“取消”,则会收到此错误:您必须指定“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;
  }
flutter
1个回答
0
投票

这表明 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',
  );
}

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.