file_picker_impl.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:app_flowy/util/file_picker/file_picker_service.dart';
  2. import 'package:file_picker/file_picker.dart' as fp;
  3. class FilePicker implements FilePickerService {
  4. @override
  5. Future<String?> getDirectoryPath({String? title}) {
  6. return fp.FilePicker.platform.getDirectoryPath();
  7. }
  8. @override
  9. Future<FilePickerResult?> pickFiles(
  10. {String? dialogTitle,
  11. String? initialDirectory,
  12. fp.FileType type = fp.FileType.any,
  13. List<String>? allowedExtensions,
  14. Function(fp.FilePickerStatus p1)? onFileLoading,
  15. bool allowCompression = true,
  16. bool allowMultiple = false,
  17. bool withData = false,
  18. bool withReadStream = false,
  19. bool lockParentWindow = false}) async {
  20. final result = await fp.FilePicker.platform.pickFiles(
  21. dialogTitle: dialogTitle,
  22. initialDirectory: initialDirectory,
  23. type: type,
  24. allowedExtensions: allowedExtensions,
  25. onFileLoading: onFileLoading,
  26. allowCompression: allowCompression,
  27. allowMultiple: allowMultiple,
  28. withData: withData,
  29. withReadStream: withReadStream,
  30. lockParentWindow: lockParentWindow,
  31. );
  32. return FilePickerResult(result?.files ?? []);
  33. }
  34. }