如在Kestrel服务器下 可以选择在CreateHostBuilder 方法中统一移除所有上传限制。也可在指定的action上添加[DisableRequestSizeLimit] 属性解除限制。
//第一种在CreateHostBuilder 中添加配置。 public static IHostBuilder CreateHostBuilder(string[] args) { hostBuilder = Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>().UseUrls("http://*:9527").UseKestrel(options => { options.Limits.MaxRequestBodySize = null; }); }); return hostBuilder; }
//第二种在action上添加属性解除限制 [DisableRequestSizeLimit] [HttpPost("[action]")] public async Task<string> ImportWhiteListExcel(IFormCollection form) { }上述两种是基于Kestrel服务器上的配置,如发布后使用nginx或者iis做反向代理服务器,还需要对反向代理服务器进行配置。
另外这种配置方法在vs 中需要以.net core 的运行程序进行启动方可生效,如以iis express 启动仍不生效。
在IIS上配置文件上传上限(在vs 下使用iis express 启动也可生效)
1.在项目工程下创建web.config,设置文件属性【复制到输出目录】为始终复制或较新复制
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.webServer> <security> <requestFiltering> <!-- 1 GB --> <requestLimits maxAllowedContentLength="1073741824" /> </requestFiltering> </security> </system.webServer> </configuration>
标签:core,CreateHostBuilder,asp,iis,action,net,上传 From: https://www.cnblogs.com/shy1766IT/p/17920102.html