回答
当您上传超过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. PHP增加上传文件大小
- 3. 上传时文件大小增加
- 4. 在Shiny中增加最大上传文件大小
- 5. 在.Net(asp.net核心)上传大文件到aws S3服务器
- 6. 在IIS7/Win7 Pro上增加最大上传文件大小
- 7. 在asp.net核心中增加最大网址长度
- 8. .rpm文件大小在python上传过程中增加(损坏)
- 9. 如何在asp.net核心web api中上传文件
- 10. 无法增加本地WordPress的最大上传文件大小
- 11. 为什么上传者在php ..增加文件大小?
- 12. 在netbeans.conf文件中增加堆大小
- 13. 核心数据文件的大小
- 14. 限制核心文件大小
- 15. Asp.Net上传前检查文件大小
- 16. 文件上传和调整大小asp.net
- 17. toDataURL()文件大小增加
- 18. 在asp.net上传大文件
- 19. 在ASP.NET Web表单中增加最大上传限制的大小
- 20. 使用asp.net核心中的表单数据上传文件
- 21. 文件上传使用拖放在核心Asp.Net
- 22. 使用asp.net在webconfig中放大上传的文件大小
- 23. Asp.NET核心图像调整大小
- 24. 无法增加文件上传大小WAMP
- 25. 增加文件上传大小,但无法找到/访问php.ini
- 26. 从jmeter上传时服务器(HDFS)文件大小增加
- 27. 如何增加php文件的上传大小
- 28. 增加文件上传大小Wordpress/IIS 7
- 29. 增加WCF服务上传大小
- 30. 用iOS增加PFFile Parse上传大小
你可能意味着30MB,而不是GB – jao