You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter Web项目中file_picker_cross包出现NullThrownError方法未找到错误

Flutter Web项目中file_picker_cross包报错:NullThrownError方法未找到

报错信息

/C:/Users/ROSE%20PC/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker_cross-4.6.0/lib/file_picker_cross.dart:136:14: Error: Method not found: 'NullThrownError'.
      throw (NullThrownError());
             ^^^^^^^^^^^^^^^

已尝试的无效解决步骤

  • 执行flutter pub upgrade file_picker_cross更新包至最新版本
  • 执行flutter clean清理项目后重新运行flutter pub get

补充环境信息

  • Flutter版本:3.10.1
  • file_picker_cross包版本:4.6.0

可行解决方案

1. 临时修改包源码修复

找到报错提示中的file_picker_cross.dart文件(路径:C:/Users/ROSE PC/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker_cross-4.6.0/lib/file_picker_cross.dart),定位到第136行,将代码:

throw (NullThrownError());

替换为以下任意一种写法:

throw Null();
// 或者更直观的错误提示
throw '空值异常:未获取到文件';

保存修改后重新运行项目即可。

2. 替换为更稳定的官方包

file_picker_cross包维护不活跃,建议替换为官方维护的file_picker包,对Flutter Web支持更完善:

  • 在pubspec.yaml中移除file_picker_cross依赖,添加:
    dependencies:
      file_picker: ^6.1.1 # 替换为最新版本号
    
  • 执行flutter pub get安装依赖
  • 重构代码适配新包API,示例:
    // 原file_picker_cross写法
    // FilePickerCross file = await FilePickerCross.pick();
    // 替换为file_picker写法
    FilePickerResult? result = await FilePicker.platform.pickFiles();
    if (result != null) {
      PlatformFile file = result.files.first;
      // 后续业务逻辑
    }
    

内容的提问来源于stack exchange,提问作者pedram lohery

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 08:25:11