一、简介
在ASP.NET Core MVC中,文件上传的最大上传文件默认为20MB,如果我们想上传一些比较大的文件,就不知道怎么去设置了,没有了Web.Config我们应该如何下手呢?
二、设置上传文件大小
1.应用程序级别设置
我们需要在 ConfigureServices方法中添加如下代码,设置文件上传的大小限制为60 MB。
public void ConfigureServices(IServiceCollection services) { servicesConfigure<FormOptions>(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<IFormFeature>(); if (formFeature == null || formFeatureForm == null) { // Request form has not been read yet, so set the limits featuresSet<IFormFeature>(new FormFeature(contextHttpContextRequest, _formOptions)); } } }
因为ASP.NET Core MVC中,与之前版本不同的是具体功能被封装在了各种Feature(特征)中,HttpContext上下文只是能各个特征进行管理的容器。这个Filter中就只将Action拦截,对HttpContext中的FormFeature(负责表单提交功能)重新进行设置,从而达到限制具体Action上传文件大小的目的。
三、结语
本来感觉像是发现了一个文件上传的BUG,已经确认在1.0.1版本中已经进行了修复。在1.0.0版本中,如果Action没有设置一个IFromFile作为参数,那么Request.From.Files将不能访问并且报出异常。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍PHP 文件上传限制问题,包括了PHP 文件上传限制问题的使用技巧和注意事项,需要的朋友参考一下 PHP 大文件上传占用大量资源,因此需要对上传的大小进行限制,以下为相关的三个参数: client_max_body_size upload_max_filesize post_max_size 与以上相对应的三个报错信息: Warning: POST Content-Length of
本文向大家介绍jquery.uploadifive插件怎么解决上传限制图片或文件大小问题,包括了jquery.uploadifive插件怎么解决上传限制图片或文件大小问题的使用技巧和注意事项,需要的朋友参考一下 jQuery.uploadifive插件可以很好的解决上传限制图片或文件大小问题,具体方法如下所示: 插件是可以用 但遇到问题如何提示是否超过限制呢 没办法研究插件js 发现网上给的
本文向大家介绍解决layui上传文件提示上传异常,实际文件已经上传成功的问题,包括了解决layui上传文件提示上传异常,实际文件已经上传成功的问题的使用技巧和注意事项,需要的朋友参考一下 layui上传文件提示上传异常,实际文件已经上传成功 原因:上传回调的方法接收的参数应该是json格式的,之前返回的是String,所以一直走异常的方法 以上这篇解决layui上传文件提示上传异常,实际文件已经上
本文向大家介绍Django 解决上传文件时,request.FILES为空的问题,包括了Django 解决上传文件时,request.FILES为空的问题的使用技巧和注意事项,需要的朋友参考一下 用html的form上传文件时,request.FILES为空,没有收到上传来的文件,但是在request.POST里找到了上传的文件名(只是一个字符串)。 解决方法: 为form表单规定enctype属
本文向大家介绍spring boot上传文件出错问题如何解决,包括了spring boot上传文件出错问题如何解决的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了spring boot上传文件出错问题如何解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 有一段时间没有使用测试环境的测试服务器。 然后昨天想使用一下测试环境,进行过文件
比如我要存一个论坛的所有帖子信息,那么帖子信息都是属于同一个mongodb document的,也就是属于同一个messages 表的。遇到这种问题应该怎么解决阿,不可能命名一个别的表吧?