Browse Source

Measure image resizing

pull/336/head
Sebastian Stehle 7 years ago
parent
commit
9a9ef79536
  1. 13
      src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs

13
src/Squidex/Areas/Api/Controllers/Assets/AssetContentController.cs

@ -13,6 +13,7 @@ using Squidex.Domain.Apps.Entities.Assets.Repositories;
using Squidex.Infrastructure; using Squidex.Infrastructure;
using Squidex.Infrastructure.Assets; using Squidex.Infrastructure.Assets;
using Squidex.Infrastructure.Commands; using Squidex.Infrastructure.Commands;
using Squidex.Infrastructure.Log;
using Squidex.Pipeline; using Squidex.Pipeline;
#pragma warning disable 1573 #pragma warning disable 1573
@ -81,25 +82,37 @@ namespace Squidex.Areas.Api.Controllers.Assets
await assetStore.DownloadAsync(assetId, entity.FileVersion, assetSuffix, bodyStream); await assetStore.DownloadAsync(assetId, entity.FileVersion, assetSuffix, bodyStream);
} }
catch (AssetNotFoundException) catch (AssetNotFoundException)
{
using (Profiler.Trace("Resize"))
{ {
using (var sourceStream = GetTempStream()) using (var sourceStream = GetTempStream())
{ {
using (var destinationStream = GetTempStream()) using (var destinationStream = GetTempStream())
{
using (Profiler.Trace("ResizeDownload"))
{ {
await assetStore.DownloadAsync(assetId, entity.FileVersion, null, sourceStream); await assetStore.DownloadAsync(assetId, entity.FileVersion, null, sourceStream);
sourceStream.Position = 0; sourceStream.Position = 0;
}
using (Profiler.Trace("ResizeImage"))
{
await assetThumbnailGenerator.CreateThumbnailAsync(sourceStream, destinationStream, width, height, mode); await assetThumbnailGenerator.CreateThumbnailAsync(sourceStream, destinationStream, width, height, mode);
destinationStream.Position = 0; destinationStream.Position = 0;
}
using (Profiler.Trace("ResizeUpload"))
{
await assetStore.UploadAsync(assetId, entity.FileVersion, assetSuffix, destinationStream); await assetStore.UploadAsync(assetId, entity.FileVersion, assetSuffix, destinationStream);
destinationStream.Position = 0; destinationStream.Position = 0;
}
await destinationStream.CopyToAsync(bodyStream); await destinationStream.CopyToAsync(bodyStream);
} }
} }
} }
} }
}
else else
{ {
await assetStore.DownloadAsync(assetId, entity.FileVersion, null, bodyStream); await assetStore.DownloadAsync(assetId, entity.FileVersion, null, bodyStream);

Loading…
Cancel
Save