如何解决ASP.NET Core中Mvc文件上传限制的问题
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下如何解决ASP.NET Core中Mvc文件上传限制的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
千家信息网最后更新 2025年11月08日如何解决ASP.NET Core中Mvc文件上传限制的问题
小编给大家分享一下如何解决ASP.NET Core中Mvc文件上传限制的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
一、简介
在ASP.NET Core MVC中,文件上传的最大上传文件默认为20MB,如果我们想上传一些比较大的文件,就不知道怎么去设置了,没有了Web.Config我们应该如何下手呢?
二、设置上传文件大小
1.应用程序级别设置
我们需要在 ConfigureServices方法中添加如下代码,设置文件上传的大小限制为60 MB。
public void ConfigureServices(IServiceCollection services){ servicesConfigure(options => { optionsMultipartBodyLengthLimit = 60000000; });} 2.Action级别设置
除了上面对全局进行设置外,我们也可以通过自定义Filter的方式,对单个Action进行控制,Filter代码如下:
[AttributeUsage(AttributeTargetsClass | AttributeTargetsMethod, AllowMultiple = false, Inherited = true)] public class RequestFormSizeLimitAttribute : Attribute, IAuthorizationFilter, IOrderedFilter { private readonly FormOptions _formOptions; public RequestFormSizeLimitAttribute(int valueCountLimit) { _formOptions = new FormOptions() { ValueCountLimit = valueCountLimit }; } public int Order { get; set; } public void OnAuthorization(AuthorizationFilterContext context) { var features = contextHttpContextFeatures; var formFeature = featuresGet(); if (formFeature == null || formFeatureForm == null) { // Request form has not been read yet, so set the limits featuresSet(new FormFeature(contextHttpContextRequest, _formOptions)); } } } 因为ASP.NET Core MVC中,与之前版本不同的是具体功能被封装在了各种Feature(特征)中,HttpContext上下文只是能各个特征进行管理的容器。这个Filter中就只将Action拦截,对HttpContext中的FormFeature(负责表单提交功能)重新进行设置,从而达到限制具体Action上传文件大小的目的。
以上是"如何解决ASP.NET Core中Mvc文件上传限制的问题"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
文件
限制
大小
篇文章
问题
代码
内容
功能
特征
级别
不同
最大
上下
上下文
不怎么
全局
单个
只是
可以通过
大部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
oracle数据库快速去重
计算机软件开发培训哪个好
关于网络安全解说
中文社会科学引文数据库
模型优先的数据库配置
软件开发分为哪五个阶段
网络安全技术分为几类型
sqlmap获取数据库信息
吃鸡下载了一半说无法连接服务器
怎么关闭数据库mysql
m7s流媒体服务器搭建
服务器柜台
硬件和软件开发的区别
备份数据库练习
poi数据库 下载
服务器管理费是什么
英伟达也开始做服务器了吗
欧洲服务器翻译
江苏省审判案例数据库
大数据和软件开发哪个热门
良好软件开发品质保障
北京软件开发五木恒润
c 添加数据库
网络安全教育手抄报的内容
网络安全国家安全例子
洪江区网络安全宣传周
买服务器的网址
英伟达也开始做服务器了吗
山西大学复试数据库
数据库两个条件降序