You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 2(IIS Express)如何解决大文件上传大小限制问题?

解决.NET Core 2 + IIS Express大文件上传404.13错误的步骤

我之前也碰到过一模一样的问题——光加控制器特性确实不够,因为这个错误是两层限制共同作用的结果:ASP.NET Core框架的请求大小限制,加上IIS Express自身的请求过滤限制。得从这几个层面一起调整才行:

1. 修改IIS Express的核心配置文件applicationhost.config

这个文件是IIS Express的规则源头,优先改项目专属的版本(只影响当前项目):

  • 找到项目根目录下的隐藏文件夹.vs\[你的项目名]\config\applicationhost.config
  • 如果找不到,也可以改全局配置:C:\Users\[你的用户名]\Documents\IISExpress\config\applicationhost.config

打开文件后,找到对应你项目的<location>节点(通过site name匹配),在<system.webServer> -> <security> -> <requestFiltering>里添加/修改maxAllowedContentLength(单位是字节,100MB对应104857600):

<location path="你的项目站点名称">
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="104857600" /> <!-- 设置为你需要的最大字节数 -->
      </requestFiltering>
    </security>
  </system.webServer>
</location>

如果没有<requestFiltering>节点,直接创建即可。

2. 补全ASP.NET Core的全局请求大小配置

控制器特性有时候会被全局配置覆盖,建议在Startup.cs的ConfigureServices方法里专门针对文件上传的multipart请求做配置:

public void ConfigureServices(IServiceCollection services)
{
    // 其他原有配置...
    
    // 配置表单请求的最大长度,适配文件上传的multipart类型
    services.Configure<FormOptions>(options =>
    {
        // 这里的数值要大于等于你期望的文件大小(比如100MB)
        options.MultipartBodyLengthLimit = 104857600;
        // 可选:如果有大文本字段,同步调整这个值
        options.ValueLengthLimit = 104857600;
    });
    
    services.AddMvc();
}

3. 确认控制器特性的正确使用

你之前加的特性可以保留,但要确保作用范围正确:

  • [DisableRequestSizeLimit]:如果用在控制器上,会禁用整个控制器的请求大小限制,建议和全局配置搭配使用
  • [RequestSizeLimit(100_000_000)]:直接在上传方法上设置时,要注意数值是字节数(100_000_000约等于95MB,足够覆盖50MB以上的文件)

4. 可选:补充项目web.config配置

如果你的项目中有web.config文件(部署到IIS时自动生成),可以在<system.webServer>节点下添加请求过滤配置作为双重保障:

<system.webServer>
  <!-- 其他原有配置... -->
  <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="104857600" />
    </requestFiltering>
  </security>
</system.webServer>

最后记得完全重启IIS Express(关闭后重新启动项目),再测试上传50MB以上的文件就应该能成功了。

内容的提问来源于stack exchange,提问作者yozawiratama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:48:47