Flutter file_picker 返回空字节

mar*_*cks 9 flutter

我有以下 file_picker 代码。当我在 Linux 客户端中运行它时,我得到以下结果。这是一个错误吗?

flutter: fatsquid.jpg
flutter: null
flutter: 497741
flutter: jpg
flutter: /home/mark/Pictures/fatsquid.jpg
Run Code Online (Sandbox Code Playgroud)

我无法从 file.path 映射表单数据,因为我使用的是 flutter web。

FilePickerResult? result;
PlatformFile? file;

  selectFile() async {
    result = await FilePicker.platform.pickFiles(type: FileType.any);

    if (result != null) {
      file = result?.files.first;
    }

    print(file?.name);
    print(file?.bytes);
    print(file?.size);
    print(file?.extension);
    print(file?.path);

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

文件选择器:^5.0.1

编辑:

应用下面的答案,我得到以下结果。

flutter: fatsquid.jpg
flutter: 497741
flutter: 497741
flutter: jpg
flutter: /home/mark/Pictures/fatsquid.jpg
Run Code Online (Sandbox Code Playgroud)

更新的代码:

result =
    await FilePicker.platform.pickFiles(type: FileType.any, withData: true);
Run Code Online (Sandbox Code Playgroud)

小智 27

你需要设置

withData: true
Run Code Online (Sandbox Code Playgroud)

如果你想将文件提前加载到内存中