微软官网文档中给的解释是.net core 默认上传文件大小限制是30M,所以即便你项目里没有限制,这里也有个默认限制。
总结了一下解决办法:
1.首先项目里添加一个web.config自定义配置文件
在配置文件中加上这段配置
<!--//上传文件大小限制IIS设置 256M -->
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="268435456" />
</requestFiltering>
</security>
</system.webServer>
2.在Startup的ConfigureServices中添加代码段 //上传文件大小限制Kestrel设置
services.Configure<KestrelServerOptions>(options =>
{
// Set the limit to 256 MB
options.Limits.MaxRequestBodySize = 268435456;
});
//上传文件大小限制IIS设置
services.Configure<IISServerOptions>(options =>
{
options.MaxRequestBodySize = long.Parse(Configuration.GetSection("Kestrel").Value);
});
services.Configure<FormOptions>(x => x.MultipartBodyLengthLimit = 268435456);
3、打开 "管理" > "配置编辑器"
打开 "system.webServer/security/requestFiltering" 目录节点,并编辑 maxAllowedContentLength 属性的大小(字节)