file_picker_platform_interface
A common platform interface for the file_picker plugin, defining the shared API surface and data contracts across platforms.
3.0.1
61K downloads/mo
#1358 most downloaded on pub.dev
miguelpruivo/flutter_file_picker
What this package is like to depend on
Last release 8 days ago
15 Aug 2026
Ships unpredictably
gaps range from 5 weeks to 5.9 years
Nearly every release is documented
notes for 11 of 12 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
12 releases · first in 2020
2 releases in the last 12 months
see the full history below
Release timeline
12 releases · May 2020 to Aug 2026Releases
latest 12-
3.0.115 Aug 2026Release notes
Open source →- Improved package description, added example, and added missing API documentation.
Release notes
Open source →Android
- Use MediaStore Opener (which goes through the gallery) instead of default explorer. (Thank you @tmthecoder).
Web
- Add event when canceling the picker. (Thank you @letranloc).
Other
- Updates example app to null safety.
-
3.0.014 Aug 2026Release notes
Open source →- Unified platform interface release for federated
file_pickerarchitecture.
- Unified platform interface release for federated
-
2.0.011 Sep 2020Release notes
Open source →- Deprecates interface in favor of standalone
file_pickerfor all platforms.
Release notes
Open source →Breaking Changes
- Unifies all platforms (IO, Web and Desktop) in a single plugin (file_picker) that can be used seamlessly across all. Both file_picker_interface and file_picker_web are no longer mantained from now on.
- You'll now have to use
FilePicker.platform.pickFiles()and extract the files fromFilePickerResult; - Because platforms are unified and mixing
Fileinstances from dart:io and dart:html required stubbing and bloated code, it's no longer available as helper method so you'll have to instanciate aFilewith the picked paths;
New features
- Simplified usage, now you only need to use
FilePicker.platform.pickFiles()with desired parameters which will return aFilePickerResultwith aList<PlatformFile>containing the picked data; - Added classes
FilePickerResultandPlatformFileclasses with helper getters; - On Android all picked files are scoped cached which should result in most of files being available. Caching process is only made once, so once done, the picked instance should be the same;
- On iOS picking audio now supports multiple and cloud picks;
- Added parameter
withDatathat allows file data to be immediately available on memory asUint8List(part ofPlatformFileinstance). This is particularly helpful on web or if you are going to upload to somehwere else; - Major refactor with some clean-up and improvements;
Removed
- Single methods such as
getFilePath(),getMultiFilePath(),getFile()andgetMultiFile()are no longer availble in favor opickFiles();
- Deprecates interface in favor of standalone
-
1.3.123 Jul 2020Release notes
Open source →- Removes
allowCompressionfrom interface as it should only be used fromfile_picker(Android & iOS).
Release notes
Open source →Bug fix: Fixes an issue on Android, where other activity would try to call
FilePicker's result object when it shouldn't. - Removes
-
1.3.020 Jul 2020Release notes
Open source →Breaking changes
FileType.CAMERAis no longer available, if you need it, you can use this package along with image_picker.
New features
- You can now pick multiple files by using the
getMultiFilePath()method which will return aMap<String,String>with all paths from selected files, where the key matches the file name and the value its path. Optionally, it also supports filtering by file extension, otherwise all files will be selectable. Nevertheless, you should keep usinggetFilePath()for single path picking. - You can now use
FileType.AUDIOto pick audio files. In iOS this will let you select from your music library. Paths from DRM protected files won't be loaded (see README for more details). - Adds
getFile()utility method that does the same ofgetFilePath()but returns aFileobject instead, for the returned path.
Bug fixes and updates
- This package is no longer attached to the image_picker, and because of that, camera permission is also no longer required.
- Fixes an issue where sometimes the InputStream wasn't being properly closed. Also, its exception is now being forward to the plugin caller.
- Fixes an issue where the picker, when canceled, wasn't calling the result callback on the underlying platforms.
-
1.2.011 Jun 2020Release notes
Open source →Breaking change: Migrate from the deprecated original Android Support Library to AndroidX. This shouldn't result in any functional changes, but it requires any Android apps using this plugin to also migrate if they're using the original support library.
-
1.1.011 Jun 2020Release notes
Open source →Breaking changes
FileType.PDFwas removed since now it can be used along with custom file types by using theFileType.CUSTOMand providing the file extension (e.g. PDF, SVG, ZIP, etc.).FileType.CAPTUREis nowFileType.CAMERA
New features
- Now it is possible to provide a custom file extension to filter file picking options by using
FileType.CUSTOM
Bug fixes and updates
- Fixes file names from cloud on Android. Previously it would always display Document
- Fixes an issue on iOS where an exception was being thrown after canceling and re-opening the picker.
- Fixes an issue where collision could happen with request codes on Android.
- Adds public documentation to
file_picker - Example app updated.
- Updates .gitignore
-
1.0.010 May 2020Release notes
Open source →- Version 1.0 release.
- Adds support for ANY and VIDEO files.
- Fixes an issue where permissions were recursively asked on Android.
- Fixes an issue where some paths from document files couldn't be loaded with Android 8.0.
- Updates README file to match changes.
- General refactor & cleanup.
-
0.0.310 May 2020 -
0.0.210 May 2020 -
0.0.110 May 2020 -
0.0.1+110 May 2020Nothing published for this version