0 purchases
custom file picker
Features #
This package adds a file opener hierarchy system that is device-independent.
So it does not reflect the file system of the running device but can show other custom-specified file hierarchies.
Usage #
Create a custom FileData hierarchy #
final FileData fileHistory = FileData.createFolder(
"data",
DateTime.now(),
[
FileData.createFolder("images", DateTime.now(), [
FileData.createFileFromFileName("next_img.png", DateTime.now()),
FileData.createFileFromFileName("something.txt", DateTime.now()),
FileData.createFolder("files", DateTime.now(), [
FileData.createFileFromFileName("idk.xml", DateTime.now()),
FileData.createFileFromFileName("something.png", DateTime.now()),
FileData.createFileFromFileName("test.txt", DateTime.now()),
]),
]),
FileData.createFileFromFileName("test.txt", DateTime.now()),
FileData.createFileFromFileName("idk.urdf", DateTime.now()),
],
);
copied to clipboard
File Selection #
FilePicker.open(fileHistory, ['txt', 'pdf'], (String filePath) {
// Handle the selected file path
});
copied to clipboard
File Saving #
FileData suggestedFile = FileData.createFile("newFile", "txt", DateTime.now());
FilePicker.saveAs(fileHistory, suggestedFile, (String path) {
// Handle the selected file path
});
copied to clipboard
Async Variants #
There are also async variants of the open and saveAs functions, in case the whole file history should not be provided right from the start.
Whenever the user changes the current file hierarchy level (opens a folder or goes back to the parent) the onSelectedFile function is called where the new file structure for the required hierarchy level can be provided.
Async File Selection #
FilePicker.open(fileHistory, ['txt', 'pdf'], (String path) async {
// Return the FileData for the requested hierarchy path
return FileData ...
}, (String filePath) {
// Handle the selected file path
});
copied to clipboard
Async File Saving #
FileData suggestedFile = FileData.createFile("newFile", "txt", DateTime.now());
FilePicker.saveAs(fileHistory, suggestedFile, (String path) async {
// Return the FileData for the requested hierarchy path
return FileData ...
}, (String path) {
// Handle the selected file path
});
copied to clipboard
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.