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);
 }
Ejemplo n.º 2
0
        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));
        }