.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 ...
随机推荐
- RedHat7.之.图形化切换
RedHat7.之.图形化切换 从黑窗口(纯指令输入界面)切换到图形化界面,使用root用户执行指令:startx 指令:startx 如有问题,欢迎纠正!!! 如有转载,请标明源处:https:// ...
- XML DOM 节点类型(Node Types)
节点类型 下面的表格列出了不同的 W3C 节点类型,以及它们可拥有的子元素: 节点类型 描述 子元素 Document 表示整个文档(DOM 树的根节点) Element (max. one) Pro ...
- 本地资源_Asset
数据 using System.Collections.Generic; using UnityEngine; public enum Enum_Test { A, B, C, } [System.S ...
- OpenStack-Neutron-VPNaaS-配置
配置openstack版本:Juno vpnaas配置的资料很少,官网目前参考的https://wiki.openstack.org/wiki/Neutron/VPNaaS/HowToInstall比 ...
- spring boot + vue + element-ui全栈开发入门——集成element-ui
一.IDE开发工具 常用的开发工具有webstorm和sublime. 我个人喜好用Atom+插件的形式 打开Atom,在file --> settings --> packages中收 ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- JavaScript Dom 绑定事件
JavaScript Dom 绑定事件 // 先获取Dom对象,然后进行绑定 document.getElementById('xx').onclick document.getElementByI ...
- iOS报错总结
1. new Date('2018-07-18 14:58:32').getTime(); //在ios上拿报Invalid Date 无法转化 Safari 正确解析new Date ...
- S-DES算法实现(C++版本)
密码学实验二: /** :;LaEaHKEEGpPXU7;, .:75pKH11252U252XapZgRQgD6XJscLr;,. :LXpRgGaX521JLw1JswJJsJs22XHPPEZE ...
- JS设计模式(1)单例模式
什么是单例模式 定义:1.只有一个实例.2.可以全局访问 主要解决:一个全局使用的类频繁地创建与销毁. 何时使用:当您想控制实例数目,节省系统资源的时候. 如何解决:判断系统是否已经有这个单例,如果有 ...