如何在 Flutter 中添加文件选择器插件?
How to add a File Picker plugin in Flutter?
我正在创建一个 Flutter 项目,其中有一段数据 (JSON),我想将其导入和导出到用户想要的位置。为了实现这一点,我在 Flutter 中需要一个 File Picker
插件。现在,我在 Dart Packages
存储库中搜索 "file picker"
但没有找到。
有没有办法获得如下所示的文件选择器:
甚至这个...
我更喜欢第一个屏幕截图,因为它允许从不同来源(如云端硬盘)选择文件。
另外,因为我想导出数据,所以我可能也想要一个 Folder Picker
。 ;)
但是,如果有任何其他替代文件夹选择器。我很高兴知道...
我和你完全一样,哈哈!
我注意到了 documents_picker 0.0.2
。它允许用户选择多个文件,看起来很适合!
查看:https://pub.dartlang.org/packages/documents_picker#-readme-tab-
这是一个更好的文档选择器。它看起来像存储访问框架中的本机文档选择器,这就是您图片中的内容。
flutter_document_picker
我前一段时间创建了一个 file_picker
插件,以便可以选择(在 iOS 和 Android 上)绝对路径,然后用 Flutter 加载它.
您可以在这里查看:https://pub.dev/packages/file_picker
我使用 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 flutter 库。
刚找到 FileSelector plugin from flutter.dev。与 MacOS
、Windows
和 Web
.
兼容
来自其 pub.dev 页面:
打开单个文件
final typeGroup = XTypeGroup(label: 'images', extensions: ['jpg', 'png']);
final file = await openFile(acceptedTypeGroups: [typeGroup]);
一次打开多个文件
final typeGroup = XTypeGroup(label: 'images', extensions: ['jpg', 'png']);
final files = await openFiles(acceptedTypeGroups: [typeGroup]);
正在保存文件
final path = await getSavePath();
final name = "hello_file_selector.txt";
final data = Uint8List.fromList("Hello World!".codeUnits);
final mimeType = "text/plain";
final file = XFile.fromData(data, name: name, mimeType: mimeType);
await file.saveTo(path);
MacOS:提供文件读取or/and写入权限
在目标 MacOS 上,请使用 Xcode:
提供足够的权限
如果您不提供文件读取 or/and 写入权限,调用
final XFile? file =
await openFile(acceptedTypeGroups: <XTypeGroup>[typeGroup]);
都没有显示 returns.
我正在创建一个 Flutter 项目,其中有一段数据 (JSON),我想将其导入和导出到用户想要的位置。为了实现这一点,我在 Flutter 中需要一个 File Picker
插件。现在,我在 Dart Packages
存储库中搜索 "file picker"
但没有找到。
有没有办法获得如下所示的文件选择器:
甚至这个...
我更喜欢第一个屏幕截图,因为它允许从不同来源(如云端硬盘)选择文件。
另外,因为我想导出数据,所以我可能也想要一个 Folder Picker
。 ;)
但是,如果有任何其他替代文件夹选择器。我很高兴知道...
我和你完全一样,哈哈!
我注意到了 documents_picker 0.0.2
。它允许用户选择多个文件,看起来很适合!
查看:https://pub.dartlang.org/packages/documents_picker#-readme-tab-
这是一个更好的文档选择器。它看起来像存储访问框架中的本机文档选择器,这就是您图片中的内容。 flutter_document_picker
我前一段时间创建了一个 file_picker
插件,以便可以选择(在 iOS 和 Android 上)绝对路径,然后用 Flutter 加载它.
您可以在这里查看:https://pub.dev/packages/file_picker
我使用 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 flutter 库。
刚找到 FileSelector plugin from flutter.dev。与 MacOS
、Windows
和 Web
.
来自其 pub.dev 页面:
打开单个文件
final typeGroup = XTypeGroup(label: 'images', extensions: ['jpg', 'png']);
final file = await openFile(acceptedTypeGroups: [typeGroup]);
一次打开多个文件
final typeGroup = XTypeGroup(label: 'images', extensions: ['jpg', 'png']);
final files = await openFiles(acceptedTypeGroups: [typeGroup]);
正在保存文件
final path = await getSavePath();
final name = "hello_file_selector.txt";
final data = Uint8List.fromList("Hello World!".codeUnits);
final mimeType = "text/plain";
final file = XFile.fromData(data, name: name, mimeType: mimeType);
await file.saveTo(path);
MacOS:提供文件读取or/and写入权限
在目标 MacOS 上,请使用 Xcode:
提供足够的权限如果您不提供文件读取 or/and 写入权限,调用
final XFile? file =
await openFile(acceptedTypeGroups: <XTypeGroup>[typeGroup]);
都没有显示 returns.