回答
當您上傳超過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