multi_cloud_storage 0.2.0 copy "multi_cloud_storage: ^0.2.0" to clipboard
multi_cloud_storage: ^0.2.0 copied to clipboard

A Flutter plugin for multi-cloud storage that supports Google Drive, iCloud, Dropbox, and OneDrive.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:multi_cloud_storage/cloud_storage_provider.dart';
import 'package:multi_cloud_storage/multi_cloud_storage.dart';

import 'CloudStorageExplorer.dart';

void main() {
  runApp(const CloudStorageExample());
}

class CloudStorageExample extends StatefulWidget {
  const CloudStorageExample({super.key});

  @override
  State<CloudStorageExample> createState() => _CloudStorageExampleState();
}

class _CloudStorageExampleState extends State<CloudStorageExample> {

  CloudStorageProvider? cloudStorageProvider;


  @override
  void initState() {
    MultiCloudStorage.cloudAccess = CloudAccessType.appStorage;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Builder(
          builder: (context) {
            return Center(
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  ElevatedButton(
                    child: Text('Dropbox'),
                    onPressed: () async {
                      final provider = await MultiCloudStorage.connectToDropbox(
                          appKey: '',
                          appSecret: '',
                          redirectUri: '', accessToken: ''); // App registration required: https://www.dropbox.com/developers/apps
                      if (provider != null && context.mounted) {
                        openExplorer(context, provider);
                      }
                    },
                  ),
                  ElevatedButton(
                    child: Text('Onedrive'),
                    onPressed: () async  {
                      final provider = await MultiCloudStorage.connectToOneDrive(
                          clientId: '',
                          redirectUri: '',
                          context: context); // App registration required: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
                      if (provider != null && context.mounted) {
                        openExplorer(context, provider);
                      }
                    },
                  ),
                  ElevatedButton(
                    onPressed: () async {
                      final provider = await MultiCloudStorage.connectToGoogleDrive(); // App registration required: https://console.cloud.google.com/auth/overview?inv=1&invt=AbwVjA&project=serious-mariner-457313-i7
                      if (provider != null && context.mounted) {
                        openExplorer(context, provider);
                      }
                    },
                    child: Text('Google Drive'),
                  ),
                ],
              ),
            );
          }
        ),
      ),
    );
  }

  void openExplorer(BuildContext context, CloudStorageProvider provider) {
    Navigator.of(context).push(MaterialPageRoute(
      builder: (context) => CloudStorageExplorerPage(cloudStorageProvider: provider),
    ));
  }
}
5
likes
0
points
149
downloads

Publisher

verified publisherc-wolf.dev

Weekly Downloads

A Flutter plugin for multi-cloud storage that supports Google Drive, iCloud, Dropbox, and OneDrive.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dropbox_client, flutter, flutter_onedrive, google_sign_in, googleapis, googleapis_auth, http, icloud_storage_sync, path

More

Packages that depend on multi_cloud_storage