1.应用程序级别设置
我们需要在 ConfigureServices方法中添加如下代码,设置文件上传的大小限制为60 MB。
我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、乳山ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的乳山网站制作公司

- public void ConfigureServices(IServiceCollection services) 
- { 
- services.Configure - (options => 
- { 
- options.MultipartBodyLengthLimit = 60000000; 
- }); 
- } 

2.Action级别设置
除了上面对全局进行设置外,我们也可以通过自定义Filter的方式,对单个Action进行控制,Filter代码如下:

- [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, 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 = context.HttpContext.Features; 
- var formFeature = features.Get - (); 
- if (formFeature == null || formFeature.Form == null) 
- { 
- // Request form has not been read yet, so set the limits 
- features.Set - (new FormFeature(context.HttpContext.Request, _formOptions)); 
- } 
- } 
- } 

因为ASP.NET Core MVC中,与之前版本不同的是具体功能被封装在了各种Feature(特征)中,HttpContext上下文只是能各个特征进行管理的容器。这个Filter中就只将Action拦截,对HttpContext中的FormFeature(负责表单提交功能)重新进行设置,从而达到限制具体Action上传文件大小的目的。
文章名称:解决ASP.NETCoreMvc文件上传限制问题
文章源于:http://www.cqwzjz.cn/article/gcopdi.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 