首页 > 解决方案 > 适用于不需要 go-flutter 的移动设备和桌面设备的文件选择器的 Flutter 插件?

问题描述

这似乎是一个不会持续很长时间的问题,但我正在寻找最终解决方案,以便在包括桌面在内的所有平台上打开本机文件选择器,而无需安装 go-flutter。

目前我正在使用 Flutter.dev 的 file_selector 插件,它适用于 web 和 macOS(我还没有在 windows/linux 上进行测试)。当我尝试在 iOS 模拟器上运行它时,出现错误。

MissingPluginException(No implementation found for method openFile on channel plugins.flutter.io/file_selector)

我猜这是因为它不支持 iOS,也许这个插件只适用于桌面和网络。

我还看到了file_picker 插件,但它需要在桌面上安装 go-flutter 才能使其工作。我宁愿直接在 Android Studio 中进行很好的热重载/构建,而不需要 go-flutter 命令来运行桌面模拟。

有没有基本上结合了这两件事的一站式解决方案?我对 Flutter 很陌生,所以也许我错过了一种非常简单的方法来使用一个或另一个库,具体取决于具有某种条件的平台?走这条路似乎有点乱,但它现在可以工作。

我正在寻找的另一个答案是以更简单的方式在桌面上使用 file_picker 插件的一个很好的解决方案,例如如何无缝使用 go-flutter。

标签: flutterflutter-pluginflutter-desktopflutter-iosflutter-android

解决方案


我最终使用条件来检测平台,并将 file_picker 用于 iOS/Android,然后使用 file_selector 用于 web/desktop。

到目前为止,它运作良好。我可能会编写一个快速包装器来将其从主代码中抽象出来。


推荐阅读