Skip to content

File picker plugin for Flutter, compatible with both iOS & Android and desktop (go-flutter).

License

Notifications You must be signed in to change notification settings

markgrancapal/flutter_file_picker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fluter_file_picker

File Picker Awesome Flutter Build Status Buy me a coffee

File Picker

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Currently supported features

  • Uses OS default native pickers
  • Pick files using custom format filtering — you can provide a list of file extensions (pdf, svg, zip, etc.)
  • Pick files from cloud files (GDrive, Dropbox, iCloud)
  • Single or multiple file picks
  • Different default type filtering (media, image, video, audio or any)
  • Picking directories
  • Flutter Web
  • Desktop (MacOS, Linux and Windows through Flutter Go)
  • Load file data immediately into memory (Uint8List) if needed;

If you have any feature that you want to see in this package, please feel free to issue a suggestion. 🎉

Documentation

See the File Picker Wiki for every detail on about how to install, setup and use it.

File Picker Wiki

  1. Installation
  2. Setup
  3. API
  4. FAQ
  5. Troubleshooting

Usage

Quick simple usage example:

Single file

FilePickerResult result = await FilePicker.platform.pickFiles();

if(result != null) {
   File file = File(result.files.single.path);
} else {
   // User canceled the picker
}

Multiple files

FilePickerResult result = await FilePicker.platform.pickFiles(allowMultiple: true);

if(result != null) {
   List<File> files = result.paths.map((path) => File(path)).toList();
} else {
   // User canceled the picker
}

Multiple files with extension filter

FilePickerResult result = await FilePicker.platform.pickFiles(
          type: FileType.custom,
          allowedExtensions: ['jpg', 'pdf', 'doc'],
        );

Load result and file details

FilePickerResult result = await FilePicker.platform.pickFiles();

if(result != null) {
   PlatformFile file = result.files.first;
   
   print(file.name);
   print(file.bytes);
   print(file.size);
   print(file.extension);
   print(file.path);
} else {
   // User canceled the picker
}

For full usage details refer to the Wiki above.

Example App

Demo DemoMultiFilters

Getting Started

For help getting started with Flutter, view our online documentation.

For help on editing plugin code, view the documentation.

About

File picker plugin for Flutter, compatible with both iOS & Android and desktop (go-flutter).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 34.3%
  • Objective-C 30.2%
  • Dart 21.3%
  • Go 7.8%
  • Ruby 4.8%
  • HTML 1.1%
  • Other 0.5%