performUpload method
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;
}