fl_cloud_storage
Features a cloud service can provide
- Authenticate (login)
- Authorize
- Upload files to a cloud
- Download files from a cloud
- Delete files from cloud
- Supported operating systems: iOS, Android, Web, MacOS, Windows, Linux (or subset)
Supported clouds
Google Drive | Dropbox | |
---|---|---|
Authenticate | ✓ | |
Authorize | ✓ | |
Upload files | ✓ | |
Download files | ✓ | |
Delete files | ✓ | |
iOS support | ✓ | |
Android support | ✓ | |
Web support | ✓ | |
MacOS support | ? | |
Windows support | ? | |
Linux support | ? |
Usage
Import the package:
import 'package:fl_cloud_storage/fl_cloud_storage.dart';
Initialize the service you want to use:
final driveService = await CloudStorageService.initialize(
StorageType.GOOGLE_DRIVE,
cloudStorageConfig: null, // optional parameter, vendor specific implementation
);
If you need special scopes, read the section for each cloud storage vendor.
1.a) Login:
cloudStorageService.authenticate();
1.b) Ask if the user is logged in:
cloudStorageService.isSignedIn;
1.c) Logout:
cloudStorageService.logout();
4.a) List files on cloud storage:
cloudStorageService.getAllFiles()
Google Drive Cloud Storage
2.) Authorization
By default the app scope is used for Google Drive:
[v3.DriveApi.driveAppdataScope, v3.DriveApi.driveFileScope]
If you need full read and write access, add a cloudStorageConfig:
final driveService = await CloudStorageService.initialize<GoogleDriveScope>(
StorageType.GOOGLE_DRIVE,
cloudStorageConfig: GoogleDriveScope.full,
);
Behind the scens this scope is asked for:
[v3.DriveApi.driveAppdataScope, v3.DriveApi.driveFileScope, v3.DriveApi.driveScope]
Libraries
- fl_cloud_storage
- fl_cloud_storage/cloud_storage_service
- fl_cloud_storage/interface/cloud_file
- fl_cloud_storage/interface/cloud_folder
- fl_cloud_storage/interface/cloud_service
- fl_cloud_storage/model/authentication_tokens
- fl_cloud_storage/util/logger
- fl_cloud_storage/util/platform_support_enum
- fl_cloud_storage/vendor/google_drive/google_drive_file
- fl_cloud_storage/vendor/google_drive/google_drive_folder
- fl_cloud_storage/vendor/google_drive/google_drive_scope
- fl_cloud_storage/vendor/google_drive/google_drive_service
- fl_cloud_storage/vendor/storage_type