FLUTTER ECOSYSTEM

halildurmus/filepicker_windows

Windows용 파일 및 디렉터리 선택기로, 일반 대화 상자 컨트롤을 사용합니다.

filepicker_windows 프로젝트 이미지
Stars
70
Forks
19
최근 푸시(UTC)
2026. 2. 26.
프로젝트 상태
보관됨
Halil Durmus GitHub avatar
GITHUB User

Halil Durmus ↗

Software Engineer • Dart Enthusiast💙🎯

언어DartC++CMakeC

기술 주제

사용 중인 의존성

의존성 목록 7 개
  • ffi^2.2.0
  • ffi_leak_tracker^0.1.0
  • win32^6.0.0
  • checks개발 의존성^0.3.1
  • halildurmus_hooks개발 의존성^0.1.1
  • halildurmus_lints개발 의존성^2.0.0
  • test개발 의존성^1.29.0

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

This package has moved

The package can now be found at https://github.com/halildurmus/win32/tree/main/packages/filepicker_windows.


ci Package: filepicker_windows Publisher: halildurmus.dev Language: Dart License: BSD-3-Clause

File and directory picker for Windows that uses common dialog controls.

This package builds on top of the package:win32 and provides a high-level abstraction over native file picker APIs. It eliminates the need to work directly with FFI, raw pointers, or low-level Win32 calls while preserving performance and correctness.

✨ Features

  • 📂 Open a single file or multiple files simultaneously
  • 💾 Save a file
  • 📁 Select a directory
  • 🔍 Filter by file type with friendly display names
  • 📌 Add custom places to the dialog's navigation pane
  • 🪟 Pin to the correct window — always opens as a modal in front of your app

🚀 Getting Started

Add the package to your pubspec.yaml:

dependencies:
  filepicker_windows: ^3.0.0

Then import it:

import 'package:filepicker_windows/filepicker_windows.dart';

⚡ Quick Example

Show a file open dialog:

import 'package:filepicker_windows/filepicker_windows.dart';

void main() {
  final picker = OpenFilePicker()
    ..filterSpecification = {
      'Word Document (*.doc)': '*.doc',
      'Web Page (*.htm; *.html)': '*.htm;*.html',
      'Text Document (*.txt)': '*.txt',
      'All Files': '*.*',
    }
    ..defaultFilterIndex = 0
    ..defaultExtension = 'doc'
    ..title = 'Select a document';

  final file = picker.getFile();
  if (file != null) {
    print('Selected file: ${file.path}');
  } else {
    print('No file selected.');
  }
}

More examples — including multi-file selection, save dialogs, directory picking, and custom places — are available in the example directory.

For a more advanced demonstration, see example/wallpaper/, a Flutter app that uses the picker to select an image and set it as the desktop wallpaper.

📝 Documentation

Full API reference is available here:

👉 API Reference.

Additional usage examples are located in the example directory.

🐞 Features and Bugs

If you encounter bugs or need additional functionality, please file an issue.