From 6d065de9748fd8ff431b8b18993bcdedd4bdf1cf Mon Sep 17 00:00:00 2001 From: LD-Reborn Date: Sun, 2 Nov 2025 22:35:06 +0100 Subject: [PATCH] Implemented MaxDownloadableUserImageSize config setting --- src/Controllers/HomeController.cs | 6 ++++++ src/Helpers/ImageHelper.cs | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Controllers/HomeController.cs b/src/Controllers/HomeController.cs index 6255c94..4b30b38 100644 --- a/src/Controllers/HomeController.cs +++ b/src/Controllers/HomeController.cs @@ -98,6 +98,7 @@ public class HomeController : Controller [ResponseCache(Duration = 3600, Location = ResponseCacheLocation.Any, VaryByQueryKeys = new[] { "uid", "size" })] public async Task UserPhotoAsync(string uid, int? size) { + Task adminSettingsModelTask = _ldap.GetAdminSettingsModelAsync(); UserModel? user = await _ldap.GetUserByUidAsync(uid, _ldap.UsersAttributes); if (user is null || user.JpegPhoto is null) { @@ -107,6 +108,11 @@ public class HomeController : Controller { return File(Convert.FromBase64String(user.JpegPhoto), "image/jpeg"); } + if (size is not null) + { + AdminSettingsModel adminSettingsModel = await adminSettingsModelTask; + size = Math.Min((int)size, adminSettingsModel.MaxDownloadableUserImageSize); + } string encodedFile = ImageHelper.ResizeAndConvertToBase64(Convert.FromBase64String(user.JpegPhoto), size ?? 32); return File(Convert.FromBase64String(encodedFile), "image/jpeg"); } diff --git a/src/Helpers/ImageHelper.cs b/src/Helpers/ImageHelper.cs index 40b4824..49834de 100644 --- a/src/Helpers/ImageHelper.cs +++ b/src/Helpers/ImageHelper.cs @@ -13,7 +13,6 @@ public static class ImageHelper { public static string ResizeAndConvertToBase64(byte[] imageBytes, int size = 32) { - size = Math.Min(size, 256); using var inputStream = new MemoryStream(imageBytes); using var image = Image.Load(inputStream);