universal_file_picker 0.1.0
universal_file_picker: ^0.1.0 copied to clipboard
A cross-platform Flutter package for picking, previewing, and uploading files with a single, consistent API across Android, iOS, Web, macOS, Windows, and Linux.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
Added #
- Initial release of universal_file_picker package
- Cross-platform file picking support (Android, iOS, Web, macOS, Windows, Linux)
- Unified file model (UFile) for consistent API across platforms
- Smart file preview system with support for images, text files, and PDFs
- HTTP multipart upload functionality with progress tracking
- Debug inspector widget for development
- Camera capture support for mobile devices
- File filtering by extensions and MIME types
- Multiple file selection support
- Upload cancellation support
- Extension methods for easier usage
- Comprehensive example app
- Unit tests for core functionality
Features #
- UniversalFilePicker: Main picker class with platform-specific backends
- UFile: Unified file model with lazy loading support
- UFilePreview: Smart preview widget with automatic type detection
- UFileUploader: Upload functionality with progress and cancellation
- UFileInspector: Debug widget for development
- PickOptions: Configuration for file picking behavior
- UploadOptions: Configuration for upload behavior
- UploadResult: Result model for upload operations
Technical Details #
- Null safety support throughout
- Minimal dependencies (file_selector, image_picker, http)
- Conditional imports for platform-specific code
- Lazy loading for large files
- Thumbnail generation for images
- File name sanitization
- Security-conscious design (no sensitive path logging)