IIS7上传72MB文件报错:请求内容长度超过配置值
解决IIS7上传大文件时的内容长度超限问题
我一眼就揪出了问题的根源——你的配置里两个核心参数的数值不匹配,直接导致IIS拦截了72MB的上传请求!
先给你理清楚这两个关键设置的区别:
maxRequestLength(在<system.web>节点下):这是ASP.NET层面的限制,单位是KB。你设置的512000等于500MB,这个完全能容纳72MB的文件,没问题。maxAllowedContentLength(在<system.webServer>的<requestFiltering>下):这是IIS层面的限制,单位是字节。你当前设置的52428800字节换算下来只有50MB,远小于你要上传的72MB,这就是报错的直接原因!
修正步骤:
- 首先修改
maxAllowedContentLength的值,至少要大于72MB对应的字节数(72×1024×1024=75497472字节),你也可以留些余量,比如设置成80MB(83886080字节)。修正后的配置片段如下:
<system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="75497472" /> <!-- 对应72MB --> </requestFiltering> </security> </system.webServer>
- 确保你的web.config是站点根目录下的配置文件,而不是子目录的,避免配置没有覆盖生效。
- 修改完成后,重启你的IIS应用池或者站点,让新配置生效。
额外检查点:
- 如果你是在共享主机环境下,可能主机商设置了全局的上传限制,这种情况下需要联系主机服务商确认并调整。
- 你也可以通过IIS管理器可视化修改:找到你的站点 → 打开“请求筛选”功能 → 点击右侧的“编辑功能设置” → 在“最大内容长度”处输入对应的字节数,操作更直观。
记住,以后配置大文件上传时,一定要保证maxRequestLength(KB)和maxAllowedContentLength(字节)的数值对应上,比如要支持100MB上传,前者设为102400,后者设为104857600。
内容的提问来源于stack exchange,提问作者Deepak
相关产品推荐
相关产品推荐

