咨询区

  • 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.23.0 不一样,3.06.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 上传文件的大小限制?相关推荐

  1. 如何修改Kestrel上传文件的大小

    作为.NET程序员我们都清楚如何修改.NET Web程序上传文件的大小,但是我最近在做.NET Core 项目的时候发现我不清楚如何修改Kestrel上传文件的大小,经过翻阅微软官方文档我成功实现了修 ...

  2. 如何限制上传服务器的文件容量,如何通过配置php文件限制上传文件的大小

    在网站开发的过程中,为了确保能够充分利用服务器的空间,在开发上传功能时,必须对上传文件的大小进行控制.那么我们如何进行对上传文件的大小进行控制呢? 控制文件的大小可以从两个方面入手: 第一个是在PHP ...

  3. html5 如何实现客户端验证上传文件的大小

    在HTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以 马上校验文件的大小和属性等.本文章向码农介绍html5 如何实现客户端验证上传文件的大小,感兴趣的码农可以参考一下. ...

  4. 如何上传html验证文件大小,html5 实现客户端验证上传文件的大小(简单实例)

    在HTML 5中,现在可以在客户端进行文件上传时的校验了,比如用户选择文件后,可以 马上校验文件的大小和属性等.本文章向码农介绍html5 如何实现客户端验证上传文件的大小,感兴趣的码农可以参考一下. ...

  5. JS实现限制input上传文件的大小和格式

    场景 在实现Excel导入数时,需要上传excel格式的文件. 在前端js进行判断,限制上传文件的大小和格式. 实现 html页面代码可以通过accept属性来筛选打开文件的格式. <form ...

  6. 008. 限制上传文件的大小

    第一种方法: 利用web.config的配置文件项, 进行设置; 前端aspx示例: <%@ Page Language="C#" AutoEventWireup=" ...

  7. 如何修改WampServer服务器上传文件的大小?

    修改WampServer服务器上传文件的大小 序: 默认情况下服务器对上传文件的大小是有限制的, 如果想修改上传文件的限制可以修改php.ini文件 ➢file_uploads = On(是否允许上传 ...

  8. 手机如何看python文件大小_如何安全地检查上传文件的大小?(How to check size of uploaded file safely in bottlepy?)...

    如何安全地检查上传文件的大小?(How to check size of uploaded file safely in bottlepy?) 我真的害怕read()操作,因为它使用内存. 例如,任何 ...

  9. aws php 上传文件 限制大小_php如何实现文件上传下载-PHP问题

    php实现文件上传下载的方法:首先创建好表单页面:然后将客户端文件上传到服务器端:最后将服务器端的文件移动到指定目录即可. 推荐:<PHP视频教程> PHP实现文件上传与下载 一.上传原理 ...

最新文章

  1. char值序列是什么Java_CharSequence和java之间的确切区别
  2. 实用小命令-windows下查看端口占用情况
  3. linux 文件 跳板机_shell实现跳板机
  4. Sqlserver中char,nchar,varchar与Nvarchar的区别
  5. 计算机网络之网络概述:3、性能指标(速率、带宽、吞吐量、时延、RTT、利用率)
  6. 【游记】CCHO TY国初划水记
  7. spring bean生命周期_Spring中bean的生命周期和扩展点有哪些?
  8. 拉格朗日乘数法_拉格朗日乘数法介绍(不含证明)
  9. Web定时器 - Timer
  10. 分享:Python中的位运算符
  11. 投影仪开关机码和波特率
  12. 重构java和js版_重构Javascript代码示例(重构前后对比)
  13. java batik读取svg_Java Batik操作SVG,实现svg读取,生成,动态操作
  14. 谷歌被墙,如何给谷歌浏览器添加迅雷下载插件
  15. java 10000以内的质数_10000以内的质数总表
  16. 厦大计算机推免复试,统考生没戏!厦大该专业3个系招生,推免占比最高100%!...
  17. 服务器红帽操作系统安装,怎么安装red hat操作系统
  18. 微信小程序小白知识点bindtap()和this.setData({})
  19. Codeforces 715B
  20. 回首向来萧瑟处,归去,也无风雨也无晴。

热门文章

  1. sql查询从m到n的这几条记录
  2. 用JoyToKey使游戏手柄变键盘或鼠标
  3. 【心情】今天买了ZÈRTZ!
  4. 换工作了,开始用金蝶的BOS了,好多东西都要学啊!
  5. 密码可逆不可逆选择_膝关节损伤不可逆!跑步要注意!
  6. 编译安装PHP出现configure: error: MySQL configure failed. Please check config.log的解决方法
  7. spring cloud连载第一篇之bootstrap context
  8. IE8 兼容background-size的解决办法
  9. 做程序员的纠结在哪里
  10. iOS Newsstand Tutorial