/// <inheritdoc /> public override async Task <Object> UploadObjectAsync( Object destination, Stream source, UploadObjectOptions options = null, CancellationToken cancellationToken = default(CancellationToken), IProgress <IUploadProgress> progress = null) { ValidateObject(destination, nameof(destination)); GaxPreconditions.CheckNotNull(source, nameof(source)); var mediaUpload = new CustomMediaUpload(Service, destination, destination.Bucket, source, destination.ContentType); options?.ModifyMediaUpload(mediaUpload); ApplyEncryptionKey(options?.EncryptionKey, mediaUpload); if (progress != null) { mediaUpload.ProgressChanged += progress.Report; } var finalProgress = await mediaUpload.UploadAsync(cancellationToken).ConfigureAwait(false); if (finalProgress.Exception != null) { throw finalProgress.Exception; } return(mediaUpload.ResponseBody); }
/// <inheritdoc /> public override Object UploadObject( Object destination, Stream source, UploadObjectOptions options = null, IProgress <IUploadProgress> progress = null) { ValidateObject(destination, nameof(destination)); GaxPreconditions.CheckNotNull(source, nameof(source)); var mediaUpload = new CustomMediaUpload(Service, destination, destination.Bucket, source, destination.ContentType); options?.ModifyMediaUpload(mediaUpload); ApplyEncryptionKey(options?.EncryptionKey, mediaUpload); if (progress != null) { mediaUpload.ProgressChanged += progress.Report; } var finalProgress = mediaUpload.Upload(); if (finalProgress.Exception != null) { throw finalProgress.Exception; } return(mediaUpload.ResponseBody); }
/// <inheritdoc /> public override ObjectsResource.InsertMediaUpload CreateObjectUploader( Object destination, Stream source, UploadObjectOptions options = null) { ValidateObject(destination, nameof(destination)); GaxPreconditions.CheckNotNull(source, nameof(source)); var mediaUpload = new CustomMediaUpload(Service, destination, destination.Bucket, source, destination.ContentType); options?.ModifyMediaUpload(mediaUpload); ApplyEncryptionKey(options?.EncryptionKey, options?.KmsKeyName, mediaUpload); return(mediaUpload); }