diff --git a/AobaCore/Services/AobaService.cs b/AobaCore/Services/AobaService.cs index d713247..b48bfa9 100644 --- a/AobaCore/Services/AobaService.cs +++ b/AobaCore/Services/AobaService.cs @@ -79,6 +79,10 @@ public class AobaService(IMongoDatabase db) { return ex; } + finally + { + data.Dispose(); + } } public async Task> GetFileStreamAsync(ObjectId mediaId, bool seekable = false, CancellationToken cancellationToken = default) diff --git a/AobaCore/Services/ThumbnailService.cs b/AobaCore/Services/ThumbnailService.cs index 7216744..3480c76 100644 --- a/AobaCore/Services/ThumbnailService.cs +++ b/AobaCore/Services/ThumbnailService.cs @@ -100,7 +100,7 @@ public class ThumbnailService(IMongoDatabase db, AobaService aobaService) }; } - private static Maybe LoadImageAsync(Stream stream, string ext) + private static Maybe LoadImage(Stream stream, string ext) { if (ext is ".heif" or ".avif") { @@ -112,7 +112,7 @@ public class ThumbnailService(IMongoDatabase db, AobaService aobaService) public static async Task> GenerateImageThumbnailAsync(Stream stream, ThumbnailSize size, string ext, CancellationToken cancellationToken = default) { - var img = LoadImageAsync(stream, ext); + var img = LoadImage(stream, ext); if (img.HasError) return img.Error; img.Value.Mutate(o => @@ -125,6 +125,7 @@ public class ThumbnailService(IMongoDatabase db, AobaService aobaService) Size = new Size(300, 300) }); }); + img.Value.Dispose(); var result = new MemoryStream(); await img.Value.SaveAsWebpAsync(result, cancellationToken); result.Position = 0;