.NET8 WEBAPI 上传大文件配置方案

作者:outlela  来源:本站原创   发布时间:2026-5-22 9:46:40

当你在 Visual Studio 中调试时,IIS Express 实际读取的是项目根目录下 .vs 文件夹里的配置文件。这是修改最有效的地方

  1. 找到文件:打开你的项目根目录,进入 .vs 文件夹,然后依次进入 {你的项目名称} 文件夹下的 config 文件夹,找到 applicationhost.config 文件。

    • 完整路径示例你的项目根目录\.vs\你的项目名称\config\applicationhost.config

  2. 修改配置:用记事本或 VS Code 打开该文件,搜索 <requestFiltering> 标签。如果找不到,就搜索 <security> 标签。

    • 如果存在 <requestFiltering>,将其内容修改如下:

<security>
    <requestFiltering>
        <!-- 将值改为 104857600 即代表 100MB,单位是字节 -->
        <requestLimits maxAllowedContentLength="104857600" />
        <!-- 其他原有内容保持不变 -->
    </requestFiltering>
</security>
    • 如果只找到 <security>,则在 <security> 标签内部添加 <requestFiltering> 节点

  1. 保存并重启:保存文件,然后完全关闭 Visual Studio 并重新打开项目,再次调试即可生效。

如果不行,可以在项目Program.cs中加入以下代码:

builder.Services.Configure<FormOptions>(options =>
{    options.MultipartBodyLengthLimit = int.MaxValue; //每个多部分主体的长度限制,默认值约为128MB 当前为2G
    options.ValueCountLimit = int.MaxValue; //要允许的表单条目数限制,默认为 1024个 当前为2147483647个
    options.ValueLengthLimit = int.MaxValue; //单个窗体值的长度限制 大约为 4MB 当前为2G});//为 ASP.NET Core Kestrel Web 服务器配置选项builder.Services.Configure<KestrelServerOptions>(options =>
{    options.Limits.MaxRequestBodySize = int.MaxValue; // 默认大约为 28.6MB 当前为2G});//为 IIS 进程内提供配置builder.Services.Configure<IISServerOptions>(options =>
    {        options.MaxRequestBodySize = int.MaxValue; // 默认大约为 28.6MB 当前为2G
    });


*本文最后修改于:2026-5-22 9:51:56
本文标签: .NET8 .NET10 WEBAPI 上传 大文件 配置方案
本文由本站原创发布, 本文链接地址:https://outlela.com/Code/225.html
转载或引用请保留地址并注明出处:outlela.com