Allows user pick a document.
Intent.ACTION_OPEN_DOCUMENT is used. This intent is supported only from Android 19 (KitKat) SDK version.
When file is picked its extension is checked using
androidFileExtension parameter. Then file is copied to app cache directory by using
TaskAsyncLoader. Copied file path is returned as result. If picked file extension mismatch extension provided by parameter
extension_mismatch error is returned.
UIDocumentPickerViewController is used. Files can be filtered by UTI type using
iosUtiType parameter. Picked file path is returned as result.
Plugin has two optional parameters to pick only specific document type:
String iosUtiType(used only in iOS)
In iOS Uniform Type Identifiers is used to check document types. If value is null "public.data" document type will be provided.
String androidFileExtension(used only in Android)
In android file extension will be checked. If value is null - picked document extension will not be checked.
//Without parameters: final path = await FlutterDocumentPicker.openDocument(); ... //With parameters: FlutterDocumentPickerParams params = FlutterDocumentPickerParams( androidFileExtension: "mwfbak", iosUtiType: "com.sidlatau.example.mwfbak", ); final path = await FlutterDocumentPicker.openDocument(params: params);
For help getting started with Flutter, view our online documentation.
For help on editing plugin code, view the documentation.
- Built-in types and core primitives for a Flutter application. [...]
- Support for asynchronous programming, with classes such as Future and Stream. [...]
- Classes and utilities that supplement the collection support in dart:core. [...]
- Encoders and decoders for converting between different data representations, including JSON and UTF-8. [...]
- Built-in types, collections, and other core functionality for every Dart program. [...]
- Interact with developer tools such as the debugger and inspector. [...]
- Mathematical constants and functions, plus a random number generator. [...]
- Lists that efficiently handle fixed sized data (for example, unsigned 8 byte integers) and SIMD numeric types. [...]
- File, socket, HTTP, and other I/O support for non-web applications. [...]
- Concurrent programming using isolates: independent workers that are similar to threads but don't share memory, communicating only via messages. [...]