public async Task <UploadDigitalAssetFromBase64StringResponse> Handle(UploadDigitalAssetFromBase64StringRequest request) { _blobClient = _storageAccount.CreateCloudBlobClient(); var container = _blobClient.GetContainerReference($"{request.TenantUniqueId}"); await container.CreateIfNotExistsAsync(); BlobContainerPermissions permissions = container.GetPermissions(); permissions.PublicAccess = BlobContainerPublicAccessType.Blob; container.SetPermissions(permissions); byte[] data = System.Convert.FromBase64String(request.Base64String); var stream = new MemoryStream(data); System.Drawing.Image image = System.Drawing.Image.FromStream(stream); var mimeType = image.GetMimeType(); var filename = $"{Guid.NewGuid()}.{GetFileExtensionBasedOnMimeType(mimeType)}"; var blockBlob = container.GetBlockBlobReference(filename); blockBlob.Properties.ContentType = System.Convert.ToString(mimeType); await blockBlob.UploadFromStreamAsync(stream); return(new UploadDigitalAssetFromBase64StringResponse() { Filename = $"{blockBlob.StorageUri.PrimaryUri}" }); }