summary refs log tree commit diff
path: root/extra/admin-api/Spacebar.Cdn/Extensions/FileSourceExtensions.cs
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-01-26 10:20:52 +0100
committerRory& <root@rory.gay>2026-01-26 10:20:52 +0100
commit56d8aa2326382633be81a014530b11f14aaa2a62 (patch)
treedc66d4f2140655f196222dea0647719b34c8ea6d /extra/admin-api/Spacebar.Cdn/Extensions/FileSourceExtensions.cs
parentMake bot invites configurable (diff)
downloadserver-ts-56d8aa2326382633be81a014530b11f14aaa2a62.tar.xz
C# dependency updates, CDN-CS work
Diffstat (limited to 'extra/admin-api/Spacebar.Cdn/Extensions/FileSourceExtensions.cs')
-rw-r--r--extra/admin-api/Spacebar.Cdn/Extensions/FileSourceExtensions.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/extra/admin-api/Spacebar.Cdn/Extensions/FileSourceExtensions.cs b/extra/admin-api/Spacebar.Cdn/Extensions/FileSourceExtensions.cs
new file mode 100644

index 00000000..218ba6a2 --- /dev/null +++ b/extra/admin-api/Spacebar.Cdn/Extensions/FileSourceExtensions.cs
@@ -0,0 +1,25 @@ +using ImageMagick; +using FileInfo = Spacebar.Interop.Cdn.Abstractions.FileInfo; + +namespace Spacebar.Cdn.Extensions; + +public static class FileSourceExtensions { + public static async Task<MagickImageCollection> ToMagickImageCollectionAsync(this FileInfo fileInfo) { + var ms = new MemoryStream(); + fileInfo.Stream.Position = 0; + await fileInfo.Stream.CopyToAsync(ms); + ms.Position = 0; + var img = fileInfo.MimeType switch { + "image/apng" => new MagickImageCollection(ms, MagickFormat.APng), + _ => new MagickImageCollection(ms) + }; + + // if (img.First().Format == MagickFormat.Png) { + // img.Dispose(); + // ms.Position = 0; + // img = new MagickImageCollection(ms, MagickFormat.APng); + // } + + return img; + } +} \ No newline at end of file