Search packages, repositories and app categories

Package detailsv2.0.1

windows_file_picker

Windows implementation of the file_picker plugin using Win32 COM APIs for native file and directory picking.

Windows
30-day downloads
1.2M
Likes
0
Pub points
150

Install package

flutter pub add windows_file_picker

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

A Windows-specific implementation of the file_picker plugin that leverages Win32 COM APIs to provide native file and directory selection. It enables Flutter applications on Windows to access system-native file dialogs, ensuring a consistent user experience with platform-standard interfaces. Designed for seamless integration with the broader file_picker ecosystem, it supports both file and folder picking with minimal configuration. The package is maintained as part of the flutter_file_picker repository and targets Windows only.

Use cases

  • Selecting files in desktop apps
  • Picking directories for data import
  • Integrating native file dialogs in Windows Flutter apps
  • Supporting file uploads from Windows clients
  • Enabling document management workflows

Key features

  • Uses native Win32 COM APIs
  • Provides system-native file picker UI
  • Windows-only platform support
  • Seamless integration with file_picker
  • Minimal setup and configuration

Suitable for

  • Flutter developers targeting Windows desktop
  • Apps requiring native file selection on Windows
  • Projects using the file_picker plugin ecosystem
  • Desktop applications needing reliable file browsing
  • Developers seeking platform-consistent UIs

Considerations

  • Only works on Windows platforms
  • Requires Win32 API compatibility
  • Dependent on the main file_picker package
  • Limited to file and directory selection
  • No support for other operating systems

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

File Picker

pub package CI pipeline status GitHub issues License Awesome Flutter

File Picker

A Flutter plugin that lets you use the native file explorer to pick single or multiple files, with extension filtering, directory selection, and save-file dialogs, across Android, iOS, Linux, macOS, Windows, and Web.

This repository is a Melos workspace hosting file_picker as a federated plugin: a single cross-platform API package on top of one implementation package per platform, all versioned and published independently.

Packages

Package Pub Description
file_picker pub The main package. Add this to your app, it pulls in the right platform implementation automatically.
file_picker_platform_interface pub The shared interface and data contracts (PlatformFile, FileType, platform option classes) every implementation builds on.
file_picker_darwin pub iOS and macOS implementation.
android_file_picker pub Android implementation, including Storage Access Framework (SAF) support.
file_picker_linux pub Linux implementation, using GTK3 and XDG Desktop Portals.
windows_file_picker pub Windows implementation, using the Win32 COM APIs.
file_picker_web pub Web implementation, including Wasm compilation support.

Almost all apps should only ever depend on file_picker directly. The platform packages are pulled in transitively and registered automatically by Flutter's plugin system; you only reach for one of them directly if you need a platform-specific API that isn't exposed on the shared facade (for example FilePickerDarwin.skipEntitlementsChecks() on macOS).

Quick start

dependencies:
  file_picker: ^13.0.0
import 'package:file_picker/file_picker.dart';

final file = await FilePicker.pickFile();

if (file != null) {
  print(file.name);
  print(await file.length()); // Returns Future<int?> (or use file.lengthSync())
}

See packages/file_picker/README.md for the full feature list, platform compatibility chart, and more usage examples (multiple files, extension filters, directory picking, save-file dialogs).

Migration

  • Upgrading to v13? See the Migrating to v13 Guide for details on PlatformFile.length() returning Future<int?> and the removal of legacy v12-deprecated parameters.
  • Upgrading from pre-v12? See the Migrating to v12 Guide for the federated architecture changes (FilePicker.pickFiles() returning List<PlatformFile>, platform options, and streaming).

Documentation

Contributing

Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request, it covers testing requirements, versioning, and changelog conventions for this workspace.

To work on this repository locally:

dart pub global activate melos
melos bootstrap
melos run analyze   # flutter analyze across every package
melos run test       # flutter test across every package

Each package keeps its own pubspec.yaml and CHANGELOG.md and is released independently, only the package(s) you actually changed need a version bump.

Credits

file_picker was created and maintained by Miguel Ruivo, starting in 2018, growing it from a single Android/iOS plugin into the federated, cross-platform package it is today. This repository continues that work under new ownership, built entirely on the foundation of his years of effort.

Thank you, Miguel.

License

MIT, see LICENSE. Every package in this repository is released under the same license.

Categories

Dependencies

Dependency list 6 items

Source repository

Projects using this package

No data available yet.

Rankings