flutter 页面重使用file_picker
Flutter中的file_picker插件可以让我们从本地文件系统中选择文件,如图像、视频、文档等。为了在多个页面中重复使用file_picker,我们可以在一个单独的文件中编写一个文件选取器类,并在需要使用它的每个页面中实例化该类。
以下是一个简单的示例:
import 'package:file_picker/file_picker.dart';
class FileSelector {
static Future<String> selectFile() async {
String filePath = '';
try {
filePath = await FilePicker.getFilePath(
type: FileType.custom, allowedExtensions: ['pdf', 'doc', 'docx']);
} catch (e) {
print('Error while picking the file: $e');
}
return filePath;
}
}
在这个示例中,我们创建了一个名为FileSelector的类,它有一个静态方法selectFile,它返回一个Future,该Future解析用户选择的文件路径。我们还将文件类型限制为pdf、doc和docx。
现在,我们可以在需要选择文件的任何页面上调用selectFile方法。例如,在一个名为MyPage的页面上,我们可以这样调用它:
class MyPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: RaisedButton(
onPressed: () async {
String filePath = await FileSelector.selectFile();
print('File path: $filePath');
},
child: Text('Select a file'),
),
),
);
}
}
当用户点击RaisedButton时,我们将调用selectFile方法并等待它返回文件路径。一旦我们有了路径,我们可以将它用于任何其他操作,例如上传到服务器或显示文件内容。
通过在单独的类中封装file_picker功能,我们可以更轻松地重复使用代码,并在需要时进行更改和维护。
原文地址: https://www.cveoy.top/t/topic/bjlo 著作权归作者所有。请勿转载和采集!