Flutter file_picker 包为所有文件详细信息提供空值

Posted

技术标签:

【中文标题】Flutter file_picker 包为所有文件详细信息提供空值【英文标题】:Flutter file_picker package giving null value for all file details 【发布时间】:2021-01-11 15:29:15 【问题描述】:

我从 file_picker 包文档中复制了相同的代码,但它一直给我所有文件详细信息的空值,这是我复制的代码

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

if(result != null) 
   PlatformFile file = result.files.first;
   
   print(file.name);
   print(file.bytes);
   print(file.size);
   print(file.extension);
   print(file.path);

文件名、字节、大小、扩展名和路径都给出了一个空值。有谁知道这是什么原因? 我尝试上传 pdf、png、jpg、doc 并为所有这些文件获取相同的 null 值。

【问题讨论】:

【参考方案1】:

我使用的是最新版本: https://pub.dev/packages/file_picker

  void _openFileExplorer() async 
      File _pickedFile;
      FilePickerResult _filePickerResult;
      setState(() 
        _isLoading = true;
      );
      try 
        _filePickerResult = await FilePicker.platform.pickFiles(
            type: FileType.any,
            allowedExtensions: (_extension?.isNotEmpty ?? false)
                ? _extension?.replaceAll(' ', '')?.split(',')
                : null);
       on PlatformException catch (e) 
        print("Unsupported operation" + e.toString());
      
      if (_filePickerResult != null) 
        setState(() 
          _pickedFile = File(_filePickerResult.files.single.path);
        );
      
      if (!mounted) return;
      
        Flushbar(
          showProgressIndicator: true,
          progressIndicatorBackgroundColor: Colors.blueGrey,
          title: 'Status:',
          message: 'File loaded: $_pickedFile',
          duration: Duration(seconds: 3),
          backgroundColor: Colors.green,
        )
          ..show(context);
      
      setState(() 
        _isLoading = false;
      );
    

【讨论】:

我试过你的代码,但它甚至没有打开文件选择器 奇怪,在这里完美运行。 _pickingType 应该是 FileType.any 如果可以的话,请将完整的 dart 文件发给我 我已经添加了完整的方法 文件资源管理器仍然没有打开

以上是关于Flutter file_picker 包为所有文件详细信息提供空值的主要内容,如果未能解决你的问题,请参考以下文章

Flutter-选择附件,图片,视频。file_picker

Flutter file_picker插件无法构建项目

pdf 1.8.1 Flutter - 无法显示文档

用户如何选择特定的文件位置在 Flutter 中保存文件

pod install 错误:给定 podspec 'file_picker' 的名称与预期的 'gx_file_picker' 不匹配

Flutter Web:文件选择器抛出“无效参数(路径):不能为空”错误