1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import 'package:appflowy/util/file_picker/file_picker_service.dart';
- import 'package:file_picker/file_picker.dart' as fp;
- class FilePicker implements FilePickerService {
- @override
- Future<String?> getDirectoryPath({String? title}) {
- return fp.FilePicker.platform.getDirectoryPath();
- }
- @override
- Future<FilePickerResult?> pickFiles({
- String? dialogTitle,
- String? initialDirectory,
- fp.FileType type = fp.FileType.any,
- List<String>? allowedExtensions,
- Function(fp.FilePickerStatus p1)? onFileLoading,
- bool allowCompression = true,
- bool allowMultiple = false,
- bool withData = false,
- bool withReadStream = false,
- bool lockParentWindow = false,
- }) async {
- final result = await fp.FilePicker.platform.pickFiles(
- dialogTitle: dialogTitle,
- initialDirectory: initialDirectory,
- type: type,
- allowedExtensions: allowedExtensions,
- onFileLoading: onFileLoading,
- allowCompression: allowCompression,
- allowMultiple: allowMultiple,
- withData: withData,
- withReadStream: withReadStream,
- lockParentWindow: lockParentWindow,
- );
- return FilePickerResult(result?.files ?? []);
- }
- @override
- Future<String?> saveFile({
- String? dialogTitle,
- String? fileName,
- String? initialDirectory,
- fp.FileType type = fp.FileType.any,
- List<String>? allowedExtensions,
- bool lockParentWindow = false,
- }) {
- return fp.FilePicker.platform.saveFile(
- dialogTitle: dialogTitle,
- fileName: fileName,
- initialDirectory: initialDirectory,
- type: type,
- allowedExtensions: allowedExtensions,
- lockParentWindow: lockParentWindow,
- );
- }
- }
|