一、IIS上传文件大小设置
方法一、打开对应站点,找到“配置编辑器”
打开编辑器,找到“system.webServer/security/requestFiltering”下的requestLimits,
修改其中的maxAllowedContentLength,设置成“314572800”字节,相当于300MB。
方法二、打开对应站点,双击“请求筛选”
点击右侧操作栏的“编辑功能设置”,修改下边的“允许的最大内容长度”为“314572800”字节,相当于300MB。
方法三、直接修改对应站点的web.config,直接添加以下配置
<requestLimits maxAllowedContentLength="314572800" />
二、ASP.NET Core 应用程序设置
在项目的Starup中添加以下代码段
services.Configure<FormOptions>(options =>
{
options.MultipartBodyLengthLimit = 314572800; // 300 MB 限制
});
services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = 314572800; // 300 MB 限制
});
这里对代码段进行解释
-
FormOptions:
- 这个配置用于设置与表单数据相关的选项,包括文件上传。
MultipartBodyLengthLimit
属性用于限制 multipart 请求体的长度,这里设置为 314572800 字节,相当于 300 MB。
-
KestrelServerOptions:
- Kestrel 是 ASP.NET Core 的跨平台 Web 服务器。
Limits.MaxRequestBodySize
属性用于限制请求主体的最大大小,这里同样设置为 314572800 字节,相当于 300 MB。
确保这些设置与你的应用程序需求一致,并且与服务器和 IIS 的限制相匹配。如果你在应用程序中设置了更高的限制,但是 IIS 或服务器配置不允许这么大的文件上传,那么上传操作仍然会失败。