setupTask function

Future<Tuple<UploadTask, int>> setupTask(
  1. Reference storageReference,
  2. PFile file,
  3. String contentType
)

Implementation

Future<Tuple<UploadTask, int>> setupTask(
    Reference storageReference, PFile file, String contentType) async {
  // ignore: deprecated_member_use
  if (file.bytes != null) {
    return Tuple(
      // ignore: deprecated_member_use
      storageReference.putData(file.bytes!),
      file.size,
    );
  } else if (file.path != null) {
    var rawFile = io.File.fromUri(Uri.parse(file.path!));
    return Tuple(
        storageReference.putFile(
            rawFile, SettableMetadata(contentType: contentType)),
        rawFile.lengthSync());
  } else {
    var bytes = await file.awaitData;
    return Tuple(
        storageReference.putData(
            bytes, SettableMetadata(contentType: contentType)),
        file.size);
  }
}