vicajilau/flutter_file_picker
vicajilau/flutter_file_picker has 1,573 GitHub stars and 898 forks. GitHot measured 0 stars in 24 hours and +3 in 7 days. Last checked 2026-11-12 22:29 UTC. Last push 2026-11-02.
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- +3
- in 15 days
- 업데이트 지연
- in 1 month
- 업데이트 지연
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
README.md
OriginalFile 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 |
The main package. Add this to your app, it pulls in the right platform implementation automatically. | |
file_picker_platform_interface |
The shared interface and data contracts (PlatformFile, FileType, platform option classes) every implementation builds on. |
|
file_picker_darwin |
iOS and macOS implementation. | |
android_file_picker |
Android implementation, including Storage Access Framework (SAF) support. | |
file_picker_linux |
Linux implementation, using GTK3 and XDG Desktop Portals. | |
windows_file_picker |
Windows implementation, using the Win32 COM APIs. | |
file_picker_web |
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()returningFuture<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()returningList<PlatformFile>, platform options, and streaming).
Documentation
packages/file_picker/README.mdfor usage, platform compatibility chart, and migration guides.- Platform-specific setup in each package's README (e.g.
file_picker_darwinfor macOS entitlements,android_file_pickerfor Android notes). - API reference on pub.dev.
packages/file_picker/CHANGELOG.mdand each platform package's ownCHANGELOG.mdfor release notes.
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.
관련 프로젝트 살펴보기
freeCodeCamp/freeCodeCamp
freeCodeCamp.org의 오픈 소스 코드베이스와 커리큘럼입니다. 수학, 프로그래밍, 컴퓨터 과학을 무료로 배울 수 있습니다.
459,080 스타donnemartin/system-design-primer
대규모 시스템 설계 방법을 배우고 시스템 설계 면접을 준비할 수 있습니다. Anki 플래시카드가 포함되어 있습니다.
377,752 스타react/react
웹과 네이티브 사용자 인터페이스를 위한 라이브러리.
252,572 스타vuejs/vue
Vue 2 저장소입니다. Vue 3은 https://github.com/vuejs/core를 방문하세요.
212,526 스타