From aaf1b464babba6c669993147cd2c6917cc3c2aae Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska Date: Thu, 9 Sep 2021 11:39:47 +0200 Subject: [PATCH] Update MultipartBodyLengthLimit on FormsOptions --- .../UmbracoBuilderExtensions.cs | 1 + .../Security/ConfigureFormOptions.cs | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 src/Umbraco.Web.Common/Security/ConfigureFormOptions.cs diff --git a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs index f1ea5699ad..ce0aed6cd0 100644 --- a/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs +++ b/src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs @@ -105,6 +105,7 @@ namespace Umbraco.Extensions services.ConfigureOptions(); services.ConfigureOptions(); + services.ConfigureOptions(); IProfiler profiler = GetWebProfiler(config); diff --git a/src/Umbraco.Web.Common/Security/ConfigureFormOptions.cs b/src/Umbraco.Web.Common/Security/ConfigureFormOptions.cs new file mode 100644 index 0000000000..a05ac5b3c6 --- /dev/null +++ b/src/Umbraco.Web.Common/Security/ConfigureFormOptions.cs @@ -0,0 +1,18 @@ +using Microsoft.AspNetCore.Http.Features; +using Microsoft.Extensions.Options; +using Umbraco.Cms.Core.Configuration.Models; + +namespace Umbraco.Cms.Web.Common.Security +{ + public class ConfigureFormOptions : IConfigureOptions + { + private readonly IOptions _runtimeSettings; + + public ConfigureFormOptions(IOptions runtimeSettings) => _runtimeSettings = runtimeSettings; + public void Configure(FormOptions options) + { + // convert from KB to bytes + options.MultipartBodyLengthLimit = _runtimeSettings.Value.MaxRequestLength.HasValue ? _runtimeSettings.Value.MaxRequestLength.Value * 1024 : int.MaxValue; + } + } +}