如何提升 Kestrel 上传文件的大小限制?
咨询区
ToddBFisher
我的程序是 ASP.NET Core WebApp
,我希望上传一个大的文件,我知道在 IIS 中可以轻松的在 web.config
中做如下配置即可,参考如下代码:
<system.webServer><security><requestFiltering><!--<requestLimits maxAllowedContentLength="1073741824"/>--><requestLimits maxAllowedContentLength="2147483648"/></requestFiltering></security>
</system.webServer>
请问当用 Kestrel 承载的 ASP.NET Core
时如何处理?我现在得到的错误都是 Request body too large
回答区
ToddBFisher
我在 github 的 issue 上找到了答案 https://github.com/aspnet/Announcements/issues/267 ,在 ASP.NET Core 2.0
中默认 body 的最大尺寸是 28.6MB
,更重要的还说出了如何绕过它,总的来说,在单个 Controller 或者 Action 上标注 [DisableRequestSizeLimit]
特性可以让当前的 body 无限制,或者干脆设一个特别大的值 [RequestSizeLimit(100_000_000)]
。
如果你要设置全局作用域,需要在 BuildWebHost()
方法中动手脚,在 Program.cs 中添加 .UseKestrel
选项,参考如下代码:
public class Program{public static void Main(string[] args){CreateWebHostBuilder(args).Build().Run();}public static IWebHostBuilder CreateWebHostBuilder(string[] args){return WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().UseKestrel(options =>{options.Limits.MaxRequestBodySize = null;});}}
Akbar Asghari
楼上的回答是 ASP.NET Core 2.0
版本,如果你想用 NET Core 3.x web API
系列的解决方案,代码应该像下面这样。
public class Program
{public static void Main(string[] args){CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) =>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();webBuilder.UseKestrel(options =>{options.Limits.MaxRequestBodySize = null;});});
}
点评区
其实你会发现在 .NET Core 系列版本中,每个版本之间写法变动还是挺大的,比如说:2.2
和 3.0
不一样,3.0
和 6.0
又不一样了,下面是 6.0
的写法。
var builder = WebApplication.CreateBuilder(args);builder.WebHost.UseKestrel(so =>
{so.Limits.MaxRequestBodySize = null;
});// Add services to the container.
builder.Services.AddControllersWithViews();var app = builder.Build();app.UseRouting();app.MapControllerRoute(name: "default",pattern: "{controller=Home}/{action=Index}/{id?}");app.Run();
总的来说,挺纠结,学无止境
如何提升 Kestrel 上传文件的大小限制?相关推荐
- 如何修改Kestrel上传文件的大小
作为.NET程序员我们都清楚如何修改.NET Web程序上传文件的大小,但是我最近在做.NET Core 项目的时候发现我不清楚如何修改Kestrel上传文件的大小,经过翻阅微软官方文档我成功实现了修 ...
- 如何限制上传服务器的文件容量,如何通过配置php文件限制上传文件的大小
在网站开发的过程中,为了确保能够充分利用服务器的空间,在开发上传功能时,必须对上传文件的大小进行控制.那么我们如何进行对上传文件的大小进行控制呢? 控制文件的大小可以从两个方面入手: 第一个是在PHP ...
- html5 如何实现客户端验证上传文件的大小
在HTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以 马上校验文件的大小和属性等.本文章向码农介绍html5 如何实现客户端验证上传文件的大小,感兴趣的码农可以参考一下. ...
- 如何上传html验证文件大小,html5 实现客户端验证上传文件的大小(简单实例)
在HTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以 马上校验文件的大小和属性等.本文章向码农介绍html5 如何实现客户端验证上传文件的大小,感兴趣的码农可以参考一下. ...
- JS实现限制input上传文件的大小和格式
场景 在实现Excel导入数时,需要上传excel格式的文件. 在前端js进行判断,限制上传文件的大小和格式. 实现 html页面代码可以通过accept属性来筛选打开文件的格式. <form ...
- 008. 限制上传文件的大小
第一种方法: 利用web.config的配置文件项, 进行设置; 前端aspx示例: <%@ Page Language="C#" AutoEventWireup=" ...
- 如何修改WampServer服务器上传文件的大小?
修改WampServer服务器上传文件的大小 序: 默认情况下服务器对上传文件的大小是有限制的, 如果想修改上传文件的限制可以修改php.ini文件 ➢file_uploads = On(是否允许上传 ...
- 手机如何看python文件大小_如何安全地检查上传文件的大小?(How to check size of uploaded file safely in bottlepy?)...
如何安全地检查上传文件的大小?(How to check size of uploaded file safely in bottlepy?) 我真的害怕read()操作,因为它使用内存. 例如,任何 ...
- aws php 上传文件 限制大小_php如何实现文件上传下载-PHP问题
php实现文件上传下载的方法:首先创建好表单页面:然后将客户端文件上传到服务器端:最后将服务器端的文件移动到指定目录即可. 推荐:<PHP视频教程> PHP实现文件上传与下载 一.上传原理 ...
最新文章
- char值序列是什么Java_CharSequence和java之间的确切区别
- 实用小命令-windows下查看端口占用情况
- linux 文件 跳板机_shell实现跳板机
- Sqlserver中char,nchar,varchar与Nvarchar的区别
- 计算机网络之网络概述:3、性能指标(速率、带宽、吞吐量、时延、RTT、利用率)
- 【游记】CCHO TY国初划水记
- spring bean生命周期_Spring中bean的生命周期和扩展点有哪些?
- 拉格朗日乘数法_拉格朗日乘数法介绍(不含证明)
- Web定时器 - Timer
- 分享:Python中的位运算符
- 投影仪开关机码和波特率
- 重构java和js版_重构Javascript代码示例(重构前后对比)
- java batik读取svg_Java Batik操作SVG,实现svg读取,生成,动态操作
- 谷歌被墙,如何给谷歌浏览器添加迅雷下载插件
- java 10000以内的质数_10000以内的质数总表
- 厦大计算机推免复试,统考生没戏!厦大该专业3个系招生,推免占比最高100%!...
- 服务器红帽操作系统安装,怎么安装red hat操作系统
- 微信小程序小白知识点bindtap()和this.setData({})
- Codeforces 715B
- 回首向来萧瑟处,归去,也无风雨也无晴。
热门文章
- sql查询从m到n的这几条记录
- 用JoyToKey使游戏手柄变键盘或鼠标
- 【心情】今天买了ZÈRTZ!
- 换工作了,开始用金蝶的BOS了,好多东西都要学啊!
- 密码可逆不可逆选择_膝关节损伤不可逆!跑步要注意!
- 编译安装PHP出现configure: error: MySQL configure failed. Please check config.log的解决方法
- spring cloud连载第一篇之bootstrap context
- IE8 兼容background-size的解决办法
- 做程序员的纠结在哪里
- iOS Newsstand Tutorial