IIS 檔案上傳的大小限制 File Upload Limit (MaxRequestLength, MaxAllowedContentLength)


  1. 說明
    1. IIS 部分
    2. ASP.NET 部分
  2. 參考資料

筆記 IIS 檔案上傳發生因檔案大小限制 (413.1 Content Length Too Large),實體不足無法正確上傳檔案時的處理方式。

logo

說明

檔案上傳大小的限制分別受到 IIS 與 ASP 的限制,要分別進行調整。

常用大小組合:

IIS maxAllowedContentLength ASP.NET maxRequestLength
10MB 10485760 102400
30MB 31457280 307200
50MB 52484800 512000
100MB 104857600 1024000

IIS 部分

藉由調整 maxAllowedContentLength來設定 IIS 所允許的檔案上傳大小,預設值為 30000000 相當於 28.6 MB,調整為 104857600 相當於 100 MB。

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="104857600" />
        </requestFiltering>
    </security>
</system.webServer>

另外也可以使用 GUI 來設定:

ASP.NET 部分

An optional read/write sint32 value that specifies the limit, in kilobytes, for the input stream buffering threshold. The default is 4096 (4 MB). You can use this limit to prevent denial of service attacks that are caused, for example, by users posting large files to the server.
learn.microsoft.com

藉由設定 maxRequestLength來調整 ASP.NET 所允許的檔案上傳大小,預設值為 4096 KB,調整為 1024000 KB 相當於 100 MB。

 <system.web> 
    <httpRuntime 
        maxRequestLength="102400" 
        executionTimeout="3600" 
        appRequestQueueLimit="10000" 
        requestValidationMode="2.0" 
        enableVersionHeader="false"/>
</system.web> 

參考資料

File Upload 上傳檔案大小的限制

Which gets priority, maxRequestLength or maxAllowedContentLength

Request Limits

HttpRuntimeSection Class