今天在做文件上传的时候发现超过30M的文件,请求会报404的错误,需要解除这个限制
由于.net core没有webconfig文件
我们需要在startup和program两个地方设置
第一步在program文件中添加如下代码:
public static IHostBuilder CreateHostBuilder(string[] args) =>//创建默认builder-会完成各种配置
Host.CreateDefaultBuilder(args)
.ConfigureLogging((Context, loggingBuillder) =>
{
//loggingBuillder.AddFilter("System", LogLevel.Error);//过滤掉命名空间
//loggingBuillder.AddFilter("Microsoft", LogLevel.Error);
//loggingBuillder.AddLog4Net();//使用Log4Net
})//扩展日志
.ConfigureWebHostDefaults(webBuilder =>//指定一个web服务器--Kestrel
{
webBuilder.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = int.MaxValue; //接触文件上传限制 2020年4月30日13:03:00 Dennyhui
}
);
//webBuilder.UseUrls("http://*:5001");
webBuilder.UseStartup<Startup>();//就是跟MVC流程串起来
});
第二步在startup文件夹添加如下代码:
/解决文件上传大小限制 2020年4月30日13:02:51 Dennyhui
services.Configure<FormOptions>(x =>
{
x.ValueLengthLimit = int.MaxValue;
x.MultipartBodyLengthLimit = int.MaxValue;
x.MemoryBufferThreshold = int.MaxValue;
});