.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 ...
随机推荐
- OAuth2认证和授权:ResourceOwnerPassword认证
ResourceOwnerPassword在 ClientCredentials认证上新增了用户名和密码 但通过RequestPasswordTokenAsync获取不到refresh_token,不 ...
- HBase笔记6 过滤器
过滤器 过滤器是GET或者SCAN时过滤结果用的,相当于SQL的where语句 HBase中的过滤器创建后会被序列化,然后分发到各个region server中,region server会还原过滤器 ...
- Django框架详细介绍---模型---ORM
一.概述 ORM(Object Relational Mapping),全称:对象关系映射,简单的说就是通过创建类.实例化出对象的方法,使得类.对象.对象的属性能够和数据库中的表.记录.字段意义对应. ...
- Python 语言来编码和解码 JSON 对象
Json函数: json.dumps: Python标准库中的json模块,集成了将数据序列化处理的功能. 将 Python 对象编码成 JSON 字符串 语法: json.dumps(obj, sk ...
- 使用addeventlistener为js动态创建的元素添加事件监听
点击li弹出内容,并且动态添加li之后有效 <button onclick="addFunction()">点我增加</button> <ul> ...
- vue计算属性和侦听器
一.计算属性: main.js: var app = new Vue({ el: '#app', data: { math: 80, physics: 90, english: 30 }, compu ...
- JAVA值传递之基本数据类型和引用数据类型
#1.基本数据类型值传递 package 经典小Demo.值传递; public class Test { public static void main(String[] args) { int a ...
- 剑指offer(30)连续子数组和的最大值
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- SIP协议简单介绍
sip协议是由IETF提出的IP电话信令协议,主要目的是为了解决ip网络中的信令控制,以及同软交换通信. sip协议类似http协议: 报文结构: start-line message-header ...
- Linux配置中文输入法(搜狗输入法)
一.基础知识 在原生ubuntu14.04英文环境系统中只有IBus拼音,真的好难用.由于搜狗输入法确实比Linux系统下其它的中文输入法都要好用得多,所以我决定在我的Ubuntu 14.04系统中安 ...