android_file_picker
파일 피커 플러그인의 Android 구현으로, 파일 선택, 저장 및 스토리지 액세스 프레임워크(SAF) URI 권한을 지원합니다.
모바일(iOS 및 Android), 웹, 데스크톱(Mac, Linux, Windows) 플랫폼과 호환되는 Flutter용 파일 선택기 플러그인으로, Flutter Go를 지원합니다.
파일 피커 플러그인의 Android 구현으로, 파일 선택, 저장 및 스토리지 액세스 프레임워크(SAF) URI 권한을 지원합니다.
file_picker 플러그인의 Darwin(iOS 및 macOS) 구현으로, 네이티브 파일 선택, 저장 및 디렉터리 선택을 지원합니다.
GTK3 및 XDG 데스크톱 포털을 사용한 파일 피커 플러그인의 리눅스 구현체로, 네이티브 파일 및 디렉터리 선택을 위한 것입니다.
file_picker 플러그인을 위한 공통 플랫폼 인터페이스로, 다양한 플랫폼 간의 공유 API 표면 및 데이터 계약을 정의합니다.
file_picker 플러그인의 웹 플랫폼 구현으로, 브라우저 파일 선택, 파일 스트리밍 및 파일 로드를 제공합니다.
Win32 COM API를 사용하여 원격 파일 및 디렉터리 선택을 위한 Windows용 file_picker 플러그인 구현.
^6.0.0{"sdk":"flutter"}^8.2.2아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
File Picker
pub package CI pipeline status GitHub issues License Awesome Flutter
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.
| 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).
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).
PlatformFile.length() returning Future<int?> and the removal of legacy v12-deprecated parameters.FilePicker.pickFiles() returning List<PlatformFile>, platform options, and streaming).packages/file_picker/README.md for usage, platform compatibility chart, and migration guides.file_picker_darwin for macOS entitlements, android_file_picker for Android notes).packages/file_picker/CHANGELOG.md and each platform package's own CHANGELOG.md for release notes.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.
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.
MIT, see LICENSE. Every package in this repository is released under the same license.