Browse Source

Fix upload size limit.

pull/447/head
Sebastian 6 years ago
parent
commit
29d5451c7f
  1. 14
      backend/src/Squidex.Web/AssetRequestSizeLimitAttribute.cs

14
backend/src/Squidex.Web/AssetRequestSizeLimitAttribute.cs

@ -16,8 +16,10 @@ using Squidex.Domain.Apps.Entities.Assets;
namespace Squidex.Web namespace Squidex.Web
{ {
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public sealed class AssetRequestSizeLimitAttribute : Attribute, IAuthorizationFilter, IRequestSizePolicy public sealed class AssetRequestSizeLimitAttribute : Attribute, IAuthorizationFilter, IRequestSizePolicy, IOrderedFilter
{ {
public int Order { get; } = 900;
public void OnAuthorization(AuthorizationFilterContext context) public void OnAuthorization(AuthorizationFilterContext context)
{ {
var assetOptions = context.HttpContext.RequestServices.GetService<IOptions<AssetOptions>>(); var assetOptions = context.HttpContext.RequestServices.GetService<IOptions<AssetOptions>>();
@ -35,6 +37,16 @@ namespace Squidex.Web
maxRequestBodySizeFeature.MaxRequestBodySize = null; maxRequestBodySizeFeature.MaxRequestBodySize = null;
} }
} }
if (assetOptions?.Value.MaxSize > 0)
{
var options = new FormOptions
{
MultipartBodyLengthLimit = assetOptions.Value.MaxSize
};
context.HttpContext.Features.Set<IFormFeature>(new FormFeature(context.HttpContext.Request, options));
}
} }
} }
} }

Loading…
Cancel
Save