回答
当您上传超过30MB的任何文件时,您可能会收到404.13 HTTP状态码。如果您在IIS中运行ASP.Net Core应用程序,则IIS管道会在您的请求到达您的应用程序之前拦截您的请求。
更新你的web.config:
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
</handlers>
<aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="false"/>
<!-- Add this section for file size... -->
<security>
<requestFiltering>
<!-- Measured in Bytes -->
<requestLimits maxAllowedContentLength="1073741824" /> <!-- 1 GB-->
</requestFiltering>
</security>
</system.webServer>
上一页ASP.Net应用程序也需要这部分,但它作为你的请求被处理的中间件不再在核心需要:
<system.web>
<!-- Measured in kilobytes -->
<httpRuntime maxRequestLength="1048576" />
</system.web>
在如果您想增加上传文件大小,则由Visual Studio 2017制作的ASP.NET Core 1.1项目。你需要自己创建的web.config文件,并添加以下内容:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<!-- 1 GB -->
<requestLimits maxAllowedContentLength="1073741824" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
在Startup.cs文件,添加这些内容:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<FormOptions>(x =>
{
x.ValueLengthLimit = int.MaxValue;
x.MultipartBodyLengthLimit = int.MaxValue;
x.MultipartHeadersLengthLimit = int.MaxValue;
});
services.AddMvc();
}
你列出不正确的web.config文件的内容;您需要使用另一个结束标记,而
其他的答案解决IIS限制。但是,截至ASP.NET Core 2.0,Kestrel服务器也强加了它自己的默认限制。
Github of KestrelServerLimits.cs
Announcement of request body size limit and solution (quoted below)
MVC说明
如果你想改变最大请求体大小限制为特定的MVC动作或控制器,你可以使用RequestSizeLimit
属性。以下将允许MyAction
接受高达100,000,000字节的请求体。
[HttpPost]
[RequestSizeLimit(100_000_000)]
public IActionResult MyAction([FromBody] MyViewModel data)
{
[DisableRequestSizeLimit]
可用于使请求大小无限制。这有效地恢复了2.0.0版本以前的行为,只是为了分配属性的操作或控制器。
通用中间件说明书
如果请求不被通过MVC动作处理,所述限制仍然可以使用所述IHttpMaxRequestBodySizeFeature
每个请求基础的修正。例如:
app.Run(async context =>
{
context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000;
MaxRequestBodySize
是一个可为空的long。将其设置为null将禁用像MVC的[DisableRequestSizeLimit]
这样的限制。
如果应用程序尚未开始读取,您只能配置请求限制;否则会引发异常。有一个IsReadOnly
属性,告诉您MaxRequestBodySize
属性是否处于只读状态,这意味着配置限制太迟了。
全局配置说明
如果你想在全球范围内修改最大请求的车身尺寸,这可以通过在任一UseKestrel
或UseHttpSys
回调修改MaxRequestBodySize
属性来完成。在这两种情况下,MaxRequestBodySize
都是可以为空的。例如:
.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = null;
或
.UseHttpSys(options =>
{
options.MaxRequestBodySize = 100_000_000;
- 1. 增加上传文件大小cakephp 3
- 2. 在Shiny中增加最大上传文件大小
- 3. 在IIS7/Win7 Pro上增加最大上传文件大小
- 4. 在.Net(asp.net核心)上传大文件到aws S3服务器
- 5. 在asp.net核心中增加最大网址长度
- 6. 无法增加本地WordPress的最大上传文件大小
- 7. 如何在asp.net核心web api中上传文件
- 8. 为什么上传者在php ..增加文件大小?
- 9. 在netbeans.conf文件中增加堆大小
- 10. toDataURL()文件大小增加
- 11. 核心数据文件的大小
- 12. 限制核心文件大小
- 13. Asp.Net上传前检查文件大小
- 14. 使用asp.net在webconfig中放大上传的文件大小
- 15. 使用asp.net核心中的表单数据上传文件
- 16. 无法增加文件上传大小WAMP
- 17. 增加文件上传大小Wordpress/IIS 7
- 18. 如何增加codeigniter中大文件的文件上传时间?
- 19. asp.net通过文件大小在Gig上传文件?
- 20. 如何在Nginx/WordPress上增加超过1 MB的上传文件大小?
- 21. 在iis6中增加文件上载大小限制
- 22. 上传文件ASP核心IIS
- 23. ASP.NET中的最大文件上传大小错误Razor网站
- 24. 如何增加在PHP中的最大文件上传?
- 25. 尝试使用asp.net核心上传文件
- 26. MyISAM文件大小增加了(加倍)
- 27. 使用jQuery在ASP.NET中测量上传文件的大小
- 28. 如何在ASP.NET MVC中上传文件大小1.25GB
- 29. 上传的WebAPI ASP.NET核心JSON VS FORMDATA
- 30. 大文件不在ASP.NET上上传
你可能意味着30MB,而不是GB – jao