设置启动/程序设置中最大允许内容长度限制不起作用

时间:2018-05-31 09:48:00

标签: asp.net-mvc http asp.net-core-mvc asp.net-core-2.0

我希望在我的网站应用上上传超过默认的~30MB文件

  

HTTP错误404.13 - 未找到请求过滤模块是   配置为拒绝超过请求内容长度的请求。

     

最有可能的原因:在Web服务器上配置了请求筛选   拒绝请求,因为内容长度超过了配置   值。

我谷歌它,我设置了这样的Program.cs:

public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .UseKestrel(options => { options.Limits.MaxRequestBodySize = null; })
                .Build();

和Startup.cs是这样的:

app.Run(async (context) =>
            {
                context.Features.Get<IHttpMaxRequestBodySizeFeature>()
                    .MaxRequestBodySize = null;

            });

我还尝试在我的班级上设置属性,以便像这样上传文件:

[HttpPost]
[DisableRequestSizeLimit]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(CreateFileViewModel model)

但我仍有同样的问题。我不明白。谢谢你的任何建议。

1 个答案:

答案 0 :(得分:0)

@Frantisek - 尝试在启动文件的ConfigureServices方法中更改FormOptions的值计数限制。

services.Configure<FormOptions>(x => x.ValueCountLimit = 1000000);

通过更改此设置,您将能够克服默认上传限制。