.net core IIS/Kestrel上传大文件的解决方法
大文件,就是内容的大小超过了一定数量的文件,比如1个GB的文件。
站点一般会限制上传文件的大小,如果超过了一定限制,则会报错误。
在处理大文件上传的方式上,IIS代理和Kestrel宿主服务器的处理方式是不一样的。
一、Kestrel宿主服务器
解决方法如下:
第一种处理方式:在需要处理大文件的接口中使用RequestSizeLimitAttribute特性。如:
/// <summary>
/// 上传文件
/// </summary>
[HttpPost("upload")]
[RequestSizeLimit(1000_000_000)]
public IActionResult Upload()
{
//......
}
RequestSizeLimit(限制的容量大小),括号内就是需要限制的上送内容的大小值。
第二种处理方式:在需要处理大文件的接口中使用DisableRequestSizeLimitAttribute特性。如:
/// <summary>
/// 上传文件
/// </summary>
[HttpPost("upload")]
[DisableRequestSizeLimit]
public IActionResult Upload()
{
//......
}
DisableRequestSizeLimitAttribute特性是指禁用对Http请求的大小限制。该特性可以加在Controller和Action上。若无需要,尽可能不要用此种方式放开对请求内容大小的限制。
二、IIS代理服务器
IIS代理服务器只认web.config配置文件里面的maxAllowedContentLength字段值。
解决方法如下:
第一步:在项目中创建一个web.config文件,如果有的话,就省略此步骤。如:

在web.config文件中添加如下代码:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.webServer> </system.webServer>
</configuration>
第二步:将security节点加入到system.webServer节点中;
<security>
<requestFiltering>
<!--单位:字节。 -->
<requestLimits maxAllowedContentLength="524288000" />
<!-- GB -->
</requestFiltering>
</security>
完整的web.config内容如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<!--单位:字节。 -->
<requestLimits maxAllowedContentLength="524288000" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
maxAllowedContentLength的值就是允许上送内容的最大值。如果项目已经部署在服务器上,则可以直接在web.config的system.webServer节点下加入security节点。
.net core IIS/Kestrel上传大文件的解决方法的更多相关文章
- 【转】Windows2008上传大文件的解决方法(iis7解决上传大容量文件)
2008上传大文件的解决方法:http://wenku.it168.com/d_000091739.shtml 2003上传大文件的解决方法:http://tech.v01.cn/windowsxit ...
- asp.net core流式上传大文件
asp.net core流式上传大文件 首先需要明确一点就是使用流式上传和使用IFormFile在效率上没有太大的差异,IFormFile的缺点主要是客户端上传过来的文件首先会缓存在服务器内存中,任何 ...
- cgi+lighttpd上传大文件失败解决办法
问题: - 前端页面点击上传按钮,不超过30M的小文件顺利上传到板子指定位置,上传60Md的更新包,出错,http状态码413——请求实体过大 环境: - web服务器——lighttpd1.4.30 ...
- 关于.NET C#上传大文件的解决办法
1.最近在解决问题的时候遇到如何将视频以及语音和图片上传到阿里云的服务器中.但是遇到一些大文件就导致无法进行上传. 2.在将图片进行上传到阿里云的时候先将文件转化为二进制文件,然后通过文件流 的形式进 ...
- ceph rgw s3 java sdk 上传大文件分批的方法
Using the AWS Java SDK for Multipart Upload (High-Level API) Topics Upload a File Abort Multipart Up ...
- php无法上传大文件完美解决方案
php.ini无法上传大文件完美解决办法 1.打开php.ini(打开方式就不用说了,百度一大堆) 2.查找post_max_size 表单提交最大数值,此项不是限制上传单个文件的大小,而是针对整个表 ...
- PHP+IIS上传大文件
最近刚接触IIS服务器,在使用php上传大文件的时候,遇到了一些问题.通过查阅网上资料进行了总结,希望对各位有帮助. 第一步,检查PHP的配置. 打开php.ini配置文件 1.file_upload ...
- IIS 上传大文件 30MB 设置限制了上传大小
用uploadify在IIS6下上传大文件没有问题,但是迁移到IIS7下面,上传大文件时,出现HTTP 404错误. 查了半天,原来是IIS7下的默认设置限制了上传大小.这个时候Web.Config中 ...
- 日常采坑:.NetCore上传大文件
一..NetCore上传大文件 .NetCore3.1 webapi 本地测试上传时,遇到一个坑,大点的文件直接失败,根本不走控制器方法. 二.大文件上传配置 IFormFile方式,vs IIS E ...
随机推荐
- Array类型和方法
var ft = new Array(); var ft = new Array(20); var ft = new Array("1","2","3 ...
- 微信小程序 地图地址解析
1.微信小程序提供了几个方式,引入地图, wx.getLocation(OBJECT) 获取当前的地理位置.速度.当用户离开小程序后,此接口无法调用:当用户点击“显示在聊天顶部”时,此接口可继续调用 ...
- 重新设计导出API
优雅的API是清晰简洁的,就像少女的肌肤一样柔滑. 背景 API 是软件应用向外部提供自身服务的一种形态和公开接口.就像一个人的着装打扮.举止言行.形象状态,是其内在的某种体现.很少有人能看到对方灵魂 ...
- jmeter获取mysql数据并作为请求参数使用
1.将mysql-connector-java-5.1.22-bin.jar包放到jmeter的lib目录下,重启jmeter 2.测试计划中添加jdbc connection,右键测试计划----添 ...
- java.lang.RuntimeException: wrong class format Caused by: org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException: null
Spring Boot 启动的时候报的错 使用Drools 5.6版本,Spring Boot1.5.8版本,JAVA8版本,Eclipse4.4.2版本. Google后在Stack上发现一个,中文 ...
- linux --- 5. nginx 初始
一. 安装nginx 1.安装nginxz之前的依赖包 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel o ...
- JAVA代码覆盖率工具JaCoCo-原理篇
JAVA代码覆盖率工具JaCoCo-原理篇 1.2 JAVA覆盖率工具介绍 1.3.3 Apache Maven方式 1.3.4 Eclipse EclDmma Plugin方式 JAVA代码覆盖率工 ...
- 友盟分享因为Bundle Id 校验不通过 无法分享到微信
微信分享应用里面资料有个APP bundle id需要填的, 以前申请的时候不需要填也可以正常分享, 但是最近开始微信需要验证, 在那填上APP对应bundle ID 就可以了
- 《温故而知新》JAVA基础四
类的封装 定义:将类的一些信息隐藏起来,不允许外部的程序直接的访问,而是通过该类提供的一些方法来获取 好处:只能通过特定的法方法访问数据,保护了数据, 实现封装的步骤: 修改属性的可见性:(一般类属性 ...
- Hive数据导入导出
Hive三种不同的数据导出的方式 (1) 导出到本地文件系统 insert overwrite local directory '/home/anjianbing/soft/export_data/ ...