Skip to main content

locality_file 0.0.1 copy "locality_file: ^0.0.1" to clipboard
locality_file: ^0.0.1 copied to clipboard

Monitor file upload progress with Locality Social Cloud.

example/main.dart

import 'package:locality_core/locality_core.dart';
import 'package:locality_file/locality_file.dart';

void main() async {
  MediaPubSub mediaPubSub = MediaPubSub("some-file-topic");
  await LocalitySocialCloud.supervise(pubSub: mediaPubSub);

  MediaItemAdapter mediaItemAdapter = mediaPubSub.makeUpload("some-image-name", metadata: {
    // Some metadata
    "size": 1000
  });

  // We announce we started uploading the file with bytesize 1024 bytes
  mediaItemAdapter.start(byteSize: 1024);
  // You can use this method to communicate file upload progress to other users
  mediaItemAdapter.setByteTransferProgress(1024);
  // This signifies the file upload has finished; The file is now available to other users.
  mediaItemAdapter.setFinished("https://some-download-link.com");

  List<MediaItemAdapter> availableUploads = mediaPubSub.uploadsById.values.toList();
  for( MediaItemAdapter upload in availableUploads ) {
    upload.addObserver((ObserverEvent evt, {Map<String, dynamic>? data}) {
      switch ( evt ) {
        case ObserverEvent.start:
        // TODO: Handle this case.
          throw UnimplementedError();
        case ObserverEvent.fail:
        // TODO: Handle this case.
          throw UnimplementedError();
        case ObserverEvent.finish:
        // TODO: Handle this case.
          throw UnimplementedError();
        case ObserverEvent.byteProgress:
        // TODO: Handle this case.
          throw UnimplementedError();
      }
    });
  }
}
0
likes
150
points
45
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Monitor file upload progress with Locality Social Cloud.

Homepage
Repository

License

BSD-3-Clause (license)

Dependencies

dio, locality_core, m511chacha20, provider

More

Packages that depend on locality_file