如何在 Flutter 中添加文件选择器插件?
Posted
技术标签:
【中文标题】如何在 Flutter 中添加文件选择器插件?【英文标题】:How to add a File Picker plugin in Flutter? 【发布时间】:2018-11-29 18:40:28 【问题描述】:我正在创建一个 Flutter 项目,其中我有一段数据 (JSON),我想从中导入和导出到用户想要的位置。为了实现这一点,我需要 Flutter 中的 File Picker
插件。现在,我在 Dart Packages
存储库中搜索了 "file picker"
,但没有找到。
有没有办法获得如下所示的文件选择器:
甚至这个...
第一个屏幕截图更适合我,因为它允许从不同的来源(如云端硬盘)选择文件。
另外,由于我想导出数据,我可能也想要一个Folder Picker
。 ;)
但是,如果有任何其他替代文件夹选择器。我很高兴知道...
【问题讨论】:
您必须构建自己的 UI,但 path_provider 插件提供了对几个目录的跨平台访问。 ios 本身是否具有类似于第一张图像的屏幕?您还可以创建一个使用 platform channels 的插件 【参考方案1】:我前段时间创建了一个 file_picker
插件,以便可以选择(在 iOS 和 android 上)绝对路径,然后使用 Flutter 加载它。
您可以在这里查看:https://pub.dev/packages/file_picker
【讨论】:
这是一个不错的插件。我有一个特定要求,只允许选择图像和 PDF 文件。有没有办法提供多个列入白名单的文件扩展名? @MilindMevada 目前没有。你不能同时得到多个文件扩展名过滤器,除非你使用FileType.IMAGE
或FileType.VIDEO
左右。在这种情况下是的。但是,对于其他自定义类型。这很困难,因为我试图让 iOS 和 Android 之间的交互尽可能无缝,这样开发人员就不必在应用程序中处理自己。
非常感谢您提供的信息。 Flutter 社区非常感谢开源贡献。
这个插件会有桌面实现吗?
@MiguelRuivo 干得好先生,但它说 No implementation found for any on channel miguelruivo.flutter.plugins.filepicker【参考方案2】:
我使用file_picker 库来选择文件。你也可以用它来挑选图片。
Future getPdfAndUpload(int position) async
File file = await FilePicker.getFile(
type: FileType.custom,
allowedExtensions: ['pdf','docx'], //here you can add any of extention what you need to pick
);
if(file != null)
setState(()
file1 = file; //file1 is a global variable which i created
);
这里file_picker颤振库。
【讨论】:
试试这个版本。文件选择器:^1.12.0【参考方案3】:这是一个更好的文档选择器。它看起来像存储访问框架中的本机文档选择器,这就是您在图片中所拥有的。 flutter_document_picker
【讨论】:
【参考方案4】:我和你在同一条船上,哈哈!
我注意到documents_picker 0.0.2
。它允许用户选择多个文件,它似乎符合需要!
查看:https://pub.dartlang.org/packages/documents_picker#-readme-tab-
【讨论】:
它是否包含文件夹的选择? 见鬼。它没有。不幸的是,它只允许特定类型。我会继续搜索@MelvinAbraham 非常感谢!我还没有测试过这个插件,因为我现在没有我的桌面......它是否提供类似于第一个屏幕截图的界面?以上是关于如何在 Flutter 中添加文件选择器插件?的主要内容,如果未能解决你的问题,请参考以下文章
Flutter Image Picker 插件为每个选择的文件分配自己的名称
如何在 Linux 上的 Flutter 中打开图形文件选择器?
Flutter/Dart - 如何在其他屏幕上的图像选择器后更新图像
如何在Flutter中保存图像文件?使用Image_picker插件选择文件
有没有办法让颤动的 webview 使用 android 相机进行文件上传?如何在 webview_flutter 中打开文件选择器?