private async Task UploadImageBytesSized(ResizeImagesAndStore request, ImageSize size, CancellationToken cancellationToken) { await using MemoryStream stream = new MemoryStream(request.ImageContent.ResizeImage((int)size)); await _mediator.Send(new SendToAzureStorage { Content = stream, FileName = ImageFileName.GetGameImageFile(request.ImageId, request.GameId, size) }, cancellationToken); }
public async Task <Unit> Handle(RemoveImagesFromAzureStorage request, CancellationToken cancellationToken) { var container = _client.GetBlobContainerClient(_settings.Container); var filesToDelete = new[] { $"{request.GameId}_{request.ImageId}.jpg", ImageFileName.GetGameImageFile(request.ImageId, request.GameId, ImageSize.Small), ImageFileName.GetGameImageFile(request.ImageId, request.GameId, ImageSize.Medium) }; foreach (var file in filesToDelete) { var blobClient = container.GetBlobClient(file); await blobClient.DeleteIfExistsAsync(DeleteSnapshotsOption.IncludeSnapshots, new BlobRequestConditions(), cancellationToken); } return(Unit.Value); }
public async Task <byte[]> Handle(GetAzureFileContents request, CancellationToken cancellationToken) { string filename = ImageFileName.GetGameImageFile(request.ImageId, request.GameId, request.Size); return(await _client.DownloadFileAsync(_settings.Container, filename, cancellationToken)); }