多部分体长限制超出异常

Tra*_*ent 38 asp.net-core-mvc asp.net-core

虽然已经设置MaxRequestLengthmaxAllowedContentLength在最大可能值web.config部分,ASP.Net核心不允许我才能上传大文件134,217,728 Bytes.来自Web服务器的确切错误是:

处理请求时发生未处理的异常.

InvalidDataException:超出了多部分主体长度限制134217728.

有没有办法解决这个问题?(ASP.Net核心)

Tra*_*ent 89

在阅读GitHub中的一些帖子后,我找到了解决这个问题的方法.结论是他们必须在Startup课堂上设置.例如:

public void ConfigureServices(IServiceCollection services)
{
        services.AddMvc();
        services.Configure<FormOptions>(x => {
            x.ValueLengthLimit = int.MaxValue;
            x.MultipartBodyLengthLimit = int.MaxValue; // In case of multipart
        })
 }
Run Code Online (Sandbox Code Playgroud)

这将解决问题.但是他们也表示有一个[RequestFormSizeLimit]属性,但我还是无法引用它.

  • 感谢上帝,我发现你,没有你,我迷失了 (5认同)
  • @JasonRowe是的,我是.看起来它没有使用最新版本. (3认同)
  • 仍然收到错误(“超出多部分正文长度限制 1000000000”)。尝试将 `MultipartBodyLengthLimit` 设置为 `long.MaxValue`,但由于某种原因它被忽略了。 (3认同)
  • 还有其他人在使用最新版本时遇到问题吗? (2认同)
  • OP 没有提到 Azure 或 IIS。IIS/Azure 确实从 web.config 文件中读取一些设置。凯斯特雷没有。 (2认同)
  • 我将第二个变量设置为long的最大值。我的控制器操作对于上传客户端拖放结果和删除多个文件有10gb的限制。[RequestSizeLimit(10_000_000_000)] // 10gb的廉价演出 (2认同)
  • 那么 ```[DisableRequestSizeLimit]``` 属性是做什么用的?! (2认同)

小智 17

或者使用该属性,因此 Transcendant 解决的操作的等效项将是:

[RequestFormLimits(ValueLengthLimit = int.MaxValue, MultipartBodyLengthLimit = int.MaxValue)]
Run Code Online (Sandbox Code Playgroud)