PackageTrack
Sign in Get early access

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 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 12
  1. 3.0.1 15 Aug 2026
    Release notes
    • Improved package description, added example, and added missing API documentation.
    Open source →
    Release notes

    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.
    Open source →
  2. 3.0.0 14 Aug 2026
    Release notes
    • Unified platform interface release for federated file_picker architecture.
    Open source →
    Release notes

    Adds null safety support (#510).

    Open source →
  3. 2.0.0 11 Sep 2020
    Release notes
    • Deprecates interface in favor of standalone file_picker for all platforms.
    Open source →
    Release notes

    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 from FilePickerResult;
    • Because platforms are unified and mixing File instances 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 a File with the picked paths;

    New features

    • Simplified usage, now you only need to use FilePicker.platform.pickFiles() with desired parameters which will return a FilePickerResult with a List<PlatformFile> containing the picked data;
    • Added classes FilePickerResult and PlatformFile classes 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 withData that allows file data to be immediately available on memory as Uint8List (part of PlatformFile instance). 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() and getMultiFile() are no longer availble in favor o pickFiles();
    Open source →
  4. 1.3.1 23 Jul 2020
    Release notes
    • Removes allowCompression from interface as it should only be used from file_picker (Android & iOS).
    Open source →
    Release notes

    Bug fix: Fixes an issue on Android, where other activity would try to call FilePicker's result object when it shouldn't.

    Open source →
  5. 1.3.0 20 Jul 2020
    Release notes
    • Adds allowCompression parameter.
    Open source →
    Release notes

    Breaking changes

    • FileType.CAMERA is 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 a Map<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 using getFilePath() for single path picking.
    • You can now use FileType.AUDIO to 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 of getFilePath() but returns a File object 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.
    Open source →
  6. 1.2.0 11 Jun 2020
    Release notes
    • Adds FilePickerStatus.
    Open source →
    Release notes

    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.

    Open source →
  7. 1.1.0 11 Jun 2020
    Release notes
    • Implements getDirectoryPath().
    Open source →
    Release notes

    Breaking changes

    • FileType.PDF was removed since now it can be used along with custom file types by using the FileType.CUSTOM and providing the file extension (e.g. PDF, SVG, ZIP, etc.).
    • FileType.CAPTURE is now FileType.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
    Open source →
  8. 1.0.0 10 May 2020
    Release notes
    • Implements getFiles().
    Open source →
    Release notes
    • 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.
    Open source →
  9. 0.0.3 10 May 2020
    Release notes
    • Removes getFilePath().
    Open source →
  10. 0.0.2 10 May 2020
    Release notes
    • Updates methods from File Picker interface.
    Open source →
  11. 0.0.1 10 May 2020
    Release notes
    • Added File Picker platform interface.
    Open source →
  12. 0.0.1+1 10 May 2020

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive