flutter - 适用于不需要 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。
解决方案
我最终使用条件来检测平台,并将 file_picker 用于 iOS/Android,然后使用 file_selector 用于 web/desktop。
到目前为止,它运作良好。我可能会编写一个快速包装器来将其从主代码中抽象出来。
推荐阅读
- javascript - 拼接方法问题
- c++ - 了解虚拟继承类 vtables 和 vptr 创建
- python-attrs - 控制用 attrs 定义的派生类的 init 中的参数顺序
- acumatica - Acumatica 错误 - 发送带有签名的电子邮件结果在最新版本的 chrome 中丢失您的消息
- azure-devops - Azure DevOps - 自定义生成模板已不复存在
- apache-kafka - 带有分区的 Kafka 主题
- r - $ 运算符对 r 中的原子向量无效
- python - Python 记录链接标识
- python - cx_oracle 缺少右括号
- java - 对组内匹配组的反向引用如何在正则表达式中工作?