在IIS(Internet Information Services)中,默认的文件上传大小限制通常为30MB,这在处理大文件时可能无法满足需求,要修改IIS上传文件大小限制,需通过调整配置文件和设置Web.config参数实现,具体步骤如下:

通过IIS管理器调整配置
- 打开IIS管理器:在服务器上搜索“IIS管理器”,以管理员身份运行。
- 选择目标网站:在左侧“连接”面板中展开服务器节点,选择需要修改的网站或应用程序池。
- 配置请求筛选:
- 双击“请求筛选”功能,点击右侧“编辑功能设置”。
- 在“最大允许的内容长度”选项中,将默认值“30000000”(30MB)修改为所需值(如1073741824,对应1GB),单位为字节。
- 配置高级设置:
- 选中网站,双击“处理程序映射”,找到“ASP.NET CGI处理器”或“ASPClassic”等,点击右侧“编辑请求限制”。
- 在“限制属性”中,将“最大请求实体主体限制”修改为相同值(若适用)。
通过Web.config文件修改(推荐)
对于ASP.NET或ASP.NET Core应用,可直接在Web.config中添加或修改以下节点:
<system.web> <httpRuntime maxRequestLength="1048576" executionTimeout="3600" /> </system.web>
maxRequestLength
:单位为KB,如“1048576”表示1GB(1024×1024)。executionTimeout
:单位为秒,防止大文件上传超时(默认为110秒,建议延长至3600秒或更长)。
对于ASP.NET Core应用,需在Startup.cs
中配置:
services.Configure<IISServerOptions>(options => { options.MaxRequestBodySize = 1073741824; // 1GB });
调整应用程序池设置
- 在IIS管理器中右键点击目标网站,选择“高级设置”。
- 在“常规”部分找到“管道模式”,确保为“集成模式”(若使用ASP.NET)。
- 检查“限制”中的“队列长度”是否足够,避免请求堆积。
常见问题与解决
问题现象 | 可能原因 | 解决方案 |
---|---|---|
上传大文件时提示“400错误” | 请求超过IIS或ASP.NET限制 | 检查IIS请求筛选和Web.config配置 |
上传进度卡在99% | 服务器超时或网络中断 | 增加executionTimeout值,检查网络稳定性 |
相关问答FAQs
Q1:修改后仍无法上传大文件,如何排查?
A1:首先确认配置是否生效(重启IIS或应用程序池),其次检查防火墙或安全软件是否拦截大文件请求,最后查看服务器日志(C:\inetpub\logs\LogFiles)定位具体错误代码(如HTTP 404、500等)。
Q2:是否需要同时修改IIS和Web.config?
A2:建议两者都修改,确保覆盖所有场景,IIS管理器设置影响全局,而Web.config仅针对当前应用程序,双重配置可避免因继承导致的问题。

通过以上步骤,可有效提升IIS的文件上传限制,满足大文件传输需求,注意修改后需测试功能,并定期监控服务器性能,避免因上传过大文件导致资源耗尽。
