Win32 COM API를 활용하여 네이티브 파일 및 폴더 선택을 제공하는 Windows 전용 file_picker 플러그인 구현입니다. Flutter 애플리케이션에서 Windows 시스템의 네이티브 파일 대화 상자를 사용할 수 있게 하여 플랫폼 표준 인터페이스와 일관된 사용자 경험을 보장합니다. 더 넓은 file_picker 생태계와의 원활한 통합을 위해 설계되었으며, 최소한의 구성으로 파일과 폴더 선택을 지원합니다. 이 패키지는 flutter_file_picker 저장소의 일부로 유지 관리되며 Windows 전용입니다.
사용 사례
데스크톱 앱에서 파일 선택하기
데이터 가져오기용 디렉터리 선택
Windows Flutter 앱에서 네이티브 파일 다이얼로그 통합
Windows 클라이언트에서 파일 업로드 지원
문서 관리 워크플로우 활성화
주요 기능
네이티브 Win32 COM API 사용
시스템 내장 파일 선택기 UI 제공
윈도우 전용 플랫폼 지원
file_picker와의 원활한 통합
최소한의 설정 및 구성
적합한 대상
윈도우 데스크톱을 위한 플러터 개발자
Windows에서 원본 파일 선택이 필요한 앱
file_picker 플러그인 생태계를 사용하는 프로젝트
신뢰할 수 있는 파일 브라우징이 필요한 데스크톱 애플리케이션
플랫폼 일관성 있는 UI를 원하는 개발자
고려 사항
Windows 플랫폼에서만 작동합니다
Win32 API 호환성이 필요합니다
주요 file_picker 패키지에 의존합니다
파일 및 디렉터리 선택에 제한됨
다른 운영 체제에 대한 지원 없음
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
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.
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 = awaitFilePicker.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).
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.