performUpload method

Future<UploaderResponse<UploadResult>>? performUpload(
  1. UploadRequest request
)

Implementation

Future<UploaderResponse<UploadResult>>? performUpload(UploadRequest request) {
  if (request.payload == null) {
    throw ArgumentError('An upload request must have a payload');
  }
  var payload = request.payload!;
  var value = payload.value;
  var chunkSize = cloudinary.config.apiConfig.chunkSize;
  SharedParams options = SharedParams(
      resourceType: request.params?.resourceType,
      unsigned: request.params?.unsigned,
      filename: request.params?.filename,
      timeout: request.params?.timeout,
      extraHeaders: request.params?.extraHeaders);
  if (value is String && Utils.isRemoteUrl(value) ||
      (1 > payload.length || payload.length < chunkSize!)) {
    // need to make sure if we have length or not.
    return callApi(request, 'upload', options: options);
  }
  //Upload large
  var uniqueUploadId = Utils.createRandomUploadId(8);
  _uploadLargeParts(payload, request, uniqueUploadId);
  return null;
}