file_picker_linux 패키지는 GTK3 및 XDG 데스크톱 포털을 활용하여 Flutter 애플리케이션 내에서 네이티브 파일 및 디렉터리 선택을 가능하게 하는 Linux 전용 file_picker 플러그인 구현을 제공합니다. 플랫폼 고유의 대화 상자를 사용함으로써 Linux 데스크톱 환경과 원활하게 통합되어 사용자에게 친숙하고 일관된 경험을 제공합니다. 이 패키지는 주 file_picker 플러그인과 함께 작동하도록 설계되었으며, Linux 시스템에서 적절한 백엔드를 자동 감지하고 사용합니다.
사용 사례
Linux 데스크톱 앱에서 파일 및 디렉터리 선택하기
Flutter Linux 앱에서 네이티브 파일 대화 상자 통합
Linux 데스크톱에서 파일 업로드 지원
Linux 기반의 Flutter 도구에서 문서 관리 활성화
안전한 파일 액세스를 위한 XDG 데스크톱 포털 사용
주요 기능
GTK3 기반의 네이티브 파일 선택기
XDG 데스크톱 포털 통합
자동 플랫폼 감지
포털을 통한 안전한 파일 접근
file_picker 코어와의 크로스 호환성
적합한 대상
Linux 데스크톱을 대상으로 하는 Flutter 개발자
리눅스에서 원본 파일 대화상자를 필요로 하는 앱
보안을 위해 XDG 데스크톱 포털을 사용하는 프로젝트
Linux 중심의 Flutter 애플리케이션을 개발하는 개발자
다중 플랫폼 파일 피커를 유지 관리하는 팀
고려 사항
Linux 환경이 필요합니다
file_picker 코어 패키지에 의존합니다
추가 시스템 권한이 필요할 수 있습니다
리눅스 플랫폼에 한정
대상 시스템에서의 GTK3 및 포털 가용성
원본 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.