uploadBlob method

  1. @override
Future<List<BlobUploadResult>> uploadBlob({
  1. required Uint8List data,
  2. required Nip01Event authorization,
  3. String? contentType,
  4. required List<String> serverUrls,
  5. UploadStrategy strategy = UploadStrategy.mirrorAfterSuccess,
  6. bool mediaOptimisation = false,
})
override

Uploads a blob using the specified strategy

Implementation

@override
Future<List<BlobUploadResult>> uploadBlob({
  required Uint8List data,
  required Nip01Event authorization,
  String? contentType,
  required List<String> serverUrls,
  UploadStrategy strategy = UploadStrategy.mirrorAfterSuccess,
  bool mediaOptimisation = false,
}) async {
  switch (strategy) {
    case UploadStrategy.mirrorAfterSuccess:
      return _uploadWithMirroring(
        data: data,
        serverUrls: serverUrls,
        contentType: contentType,
        authorization: authorization,
        mediaOptimisation: mediaOptimisation,
      );
    case UploadStrategy.allSimultaneous:
      return _uploadToAllServers(
        data: data,
        serverUrls: serverUrls,
        contentType: contentType,
        authorization: authorization,
        mediaOptimisation: mediaOptimisation,
      );
    case UploadStrategy.firstSuccess:
      return _uploadToFirstSuccess(
        data: data,
        serverUrls: serverUrls,
        contentType: contentType,
        authorization: authorization,
        mediaOptimisation: mediaOptimisation,
      );
  }
}