|
1 | 1 | # file_selector
|
2 | 2 |
|
| 3 | +<?code-excerpt path-base="excerpts/packages/file_selector_example"?> |
| 4 | + |
3 | 5 | [](https://pub.dartlang.org/packages/file_selector)
|
4 | 6 |
|
5 | 7 | A Flutter plugin that manages files and interactions with file dialogs.
|
@@ -30,25 +32,48 @@ Here are small examples that show you how to use the API.
|
30 | 32 | Please also take a look at our [example][example] app.
|
31 | 33 |
|
32 | 34 | #### Open a single file
|
| 35 | +<?code-excerpt "open_image_page.dart (SingleOpen)"?> |
33 | 36 | ``` dart
|
34 |
| -final typeGroup = XTypeGroup(label: 'images', extensions: ['jpg', 'png']); |
35 |
| -final file = await openFile(acceptedTypeGroups: [typeGroup]); |
| 37 | +final XTypeGroup typeGroup = XTypeGroup( |
| 38 | + label: 'images', |
| 39 | + extensions: <String>['jpg', 'png'], |
| 40 | +); |
| 41 | +final XFile? file = |
| 42 | + await openFile(acceptedTypeGroups: <XTypeGroup>[typeGroup]); |
36 | 43 | ```
|
37 | 44 |
|
38 | 45 | #### Open multiple files at once
|
| 46 | +<?code-excerpt "open_multiple_images_page.dart (MultiOpen)"?> |
39 | 47 | ``` dart
|
40 |
| -final typeGroup = XTypeGroup(label: 'images', extensions: ['jpg', 'png']); |
41 |
| -final files = await openFiles(acceptedTypeGroups: [typeGroup]); |
| 48 | +final XTypeGroup jpgsTypeGroup = XTypeGroup( |
| 49 | + label: 'JPEGs', |
| 50 | + extensions: <String>['jpg', 'jpeg'], |
| 51 | +); |
| 52 | +final XTypeGroup pngTypeGroup = XTypeGroup( |
| 53 | + label: 'PNGs', |
| 54 | + extensions: <String>['png'], |
| 55 | +); |
| 56 | +final List<XFile> files = await openFiles(acceptedTypeGroups: <XTypeGroup>[ |
| 57 | + jpgsTypeGroup, |
| 58 | + pngTypeGroup, |
| 59 | +]); |
42 | 60 | ```
|
43 | 61 |
|
44 | 62 | #### Saving a file
|
| 63 | +<?code-excerpt "readme_standalone_excerpts.dart (Save)"?> |
45 | 64 | ```dart
|
46 |
| -final path = await getSavePath(); |
47 |
| -final name = "hello_file_selector.txt"; |
48 |
| -final data = Uint8List.fromList("Hello World!".codeUnits); |
49 |
| -final mimeType = "text/plain"; |
50 |
| -final file = XFile.fromData(data, name: name, mimeType: mimeType); |
51 |
| -await file.saveTo(path); |
| 65 | +const String fileName = 'suggested_name.txt'; |
| 66 | +final String? path = await getSavePath(suggestedName: fileName); |
| 67 | +if (path == null) { |
| 68 | + // Operation was canceled by the user. |
| 69 | + return; |
| 70 | +} |
| 71 | +
|
| 72 | +final Uint8List fileData = Uint8List.fromList('Hello World!'.codeUnits); |
| 73 | +const String mimeType = 'text/plain'; |
| 74 | +final XFile textFile = |
| 75 | + XFile.fromData(fileData, mimeType: mimeType, name: fileName); |
| 76 | +await textFile.saveTo(path); |
52 | 77 | ```
|
53 | 78 |
|
54 | 79 | [example]:./example
|
|
0 commit comments