Asp.Net Core中上传大文件及相关设置
在Asp.Net Core中,上传文件时,默认情况下,大小限制为28mb左右。如果要上传更大的文件,可能会得到一个 Request body too large
的错误,所以,如果要上传大文件,需要做一些设置与处理。
一,Action上打标签
此种方式仅针对该Action
[HttpPost]
[RequestFormLimits(MultipartBodyLengthLimit = 209715200)]
[RequestSizeLimit(209715200)]
public IActionResult Upload(IFormFile file)
{
//业务代码
}
二,启动时全局配置
在program.cs中,配置 MaxRequestBodySize
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>()
.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = 209715200;
});
});
在startup.cs中
services.Configure<FormOptions>(x =>
{
x.MultipartBodyLengthLimit = 209715200;
});
IIS 中设置
注意,如果是在IIS中,可设置web.config
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="209715200" />
</requestFiltering>
</security>
</system.webServer>