private async Task ResizeAsync(string appId, MediaItem media, Stream target, string fileName, ResizeOptions resizeOptions, bool overwrite, CancellationToken ct) { #pragma warning disable MA0040 // Flow the cancellation token using var activity = Telemetry.Activities.StartActivity("Resize"); await using var assetOriginal = new TempAssetFile(media.FileName, media.MimeType, 0); await using var assetResized = new TempAssetFile(media.FileName, media.MimeType, 0); using (Telemetry.Activities.StartActivity("Read")) { await using (var originalStream = assetOriginal.OpenWrite()) { await mediaFileStore.DownloadAsync(appId, media, originalStream, default, ct);
private async Task ResizeAsync(string resizedAsset, string mimeType, Stream target, CancellationToken ct) { #pragma warning disable MA0040 // Flow the cancellation token using var activity = Telemetry.Activities.StartActivity("Resize"); await using var assetOriginal = new TempAssetFile(resizedAsset, mimeType, 0); await using var assetResized = new TempAssetFile(resizedAsset, mimeType, 0); var resizeOptions = new ResizeOptions { TargetWidth = 50, TargetHeight = 50 }; using (Telemetry.Activities.StartActivity("Read")) { await using (var originalStream = assetOriginal.OpenWrite()) { await appImageStore.DownloadAsync(App.Id, originalStream); } } using (Telemetry.Activities.StartActivity("Resize")) { try { await using (var originalStream = assetOriginal.OpenRead()) { await using (var resizeStream = assetResized.OpenWrite()) { await assetThumbnailGenerator.CreateThumbnailAsync(originalStream, mimeType, resizeStream, resizeOptions); } } } catch { await using (var originalStream = assetOriginal.OpenRead()) { await using (var resizeStream = assetResized.OpenWrite()) { await originalStream.CopyToAsync(resizeStream); } } } } using (Telemetry.Activities.StartActivity("Save")) { try { await using (var resizeStream = assetResized.OpenRead()) { await assetStore.UploadAsync(resizedAsset, resizeStream); } } catch (AssetAlreadyExistsException) { return; } } using (Telemetry.Activities.StartActivity("Write")) { await using (var resizeStream = assetResized.OpenRead()) { await resizeStream.CopyToAsync(target, ct); } } #pragma warning restore MA0040 // Flow the cancellation token }
private async Task ResizeAsync(IAssetEntity asset, string suffix, Stream target, ResizeOptions resizeOptions, bool overwrite, CancellationToken ct) { #pragma warning disable MA0040 // Flow the cancellation token using var activity = Telemetry.Activities.StartActivity("Resize"); await using var assetOriginal = new TempAssetFile(asset.FileName, asset.MimeType, 0); await using var assetResized = new TempAssetFile(asset.FileName, asset.MimeType, 0); using (Telemetry.Activities.StartActivity("Read")) { await using (var originalStream = assetOriginal.OpenWrite()) { await assetFileStore.DownloadAsync(asset.AppId.Id, asset.Id, asset.FileVersion, null, originalStream); } } using (Telemetry.Activities.StartActivity("Resize")) { try { await using (var originalStream = assetOriginal.OpenRead()) { await using (var resizeStream = assetResized.OpenWrite()) { await assetThumbnailGenerator.CreateThumbnailAsync(originalStream, asset.MimeType, resizeStream, resizeOptions); } } } catch { await using (var originalStream = assetOriginal.OpenRead()) { await using (var resizeStream = assetResized.OpenWrite()) { await originalStream.CopyToAsync(resizeStream); } } } } using (Telemetry.Activities.StartActivity("Save")) { try { await using (var resizeStream = assetResized.OpenRead()) { await assetFileStore.UploadAsync(asset.AppId.Id, asset.Id, asset.FileVersion, suffix, resizeStream, overwrite); } } catch (AssetAlreadyExistsException) { return; } } using (Telemetry.Activities.StartActivity("Write")) { await using (var resizeStream = assetResized.OpenRead()) { await resizeStream.CopyToAsync(target, ct); } } #pragma warning restore MA0040 // Flow the cancellation token }