如何解决ASP.NET Core中Mvc文件上传限制的问题
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,小编给大家分享一下如何解决ASP.NET Core中Mvc文件上传限制的问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
千家信息网最后更新 2025年01月18日如何解决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安全错误
数据库的锁怎样保障安全
腾讯网络安全运营中心
数据库 小数点是什么
电气自动化对比计算机网络技术
2019网络安全周的亮点
安徽一体化智慧医养软件开发
广州云图网络技术有限公司
学校网络安全主题班会简讯
创维电视数据库资源加载失败
桓台网络审批oa软件开发
磁盘io影响数据库写入
mysql数据库jar包
陕西服务器磁盘阵列卡驱动服务器
网络安全分区示意图
数据库 继承
越南网络安全守护神
南京网络安全实战培训
昂凯数据库加密技术路线
浪潮服务器开机长鸣30
数据库连接 微信
服务器灰尘清理管理
深圳开放大学计算机网络技术
Google流数据库
服务器电路测试
百度云 数据库实用技术
剑三最近登录服务器
网络安全感满意度报告
泰科电子有限公司软件开发
艾尔登法环为什么登不了服务器
网络安全有哪些行业
数据库安全课件