ASP.NETアップロードファイル最大値調整
4605 ワード
まず、一番見つけやすいのはwebです.configは次のように構成されています.
このように設定すると、要求されたサイズはデフォルトの4 MB(4096 KB)から50 MB(51200 KB)に引き上げられます.
しかし、このように設定するだけでは、最大アップロードサイズが28.6 MBで停止し、より大きなファイルアップロードが404.13に戻り、コンテンツの長さが大きすぎることを示します.
なぜならIISのデフォルト設定でmaxAllowedContentLengthの値が限定されているからです.
この値はIIS_Schema.xmlで設定します.(コンピュータ全体に影響します)
IISEXpress:IISEXpress実行パスの下、C:Program Files(x 86)IIS ExpressconfigschemaIIS_schema.xml IIS7、8:C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
この値を変更しても有効でない場合、2つの可能性があります.1つは、現在実行されているIISexpress/ISがオフ/再起動されていないことです.一つはwebです.configには、後述するように追加の構成があります.
しかし、グローバルな値を常に変更することなく、同じサーバ上の他のウェブサイトに影響を及ぼすことを避けるために、ウェブ上でもよい.configで構成します.
このコンテンツを有効にするには、アプリケーションホストで「継承を許可」を構成する必要がある.configでのキーワードを検索し、この値がAllowであることを確認します.
IISExpress:C:\Users\UserName\Documents\IISExpress\config\applicationHost.config IIS7、8:C:\Windows\System32\inetsrv\config\applicationHost.config
参考資料:
http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits
http://www.cnblogs.com/henryhappier/archive/2010/09/20/1832098.html
https://msdn.microsoft.com/en-us/library/ms689462(v=vs.90).aspx
<!--maxRequestLength=50MB-->
<httpRuntime targetFramework="4.5.2" maxRequestLength="51200"/>
このように設定すると、要求されたサイズはデフォルトの4 MB(4096 KB)から50 MB(51200 KB)に引き上げられます.
しかし、このように設定するだけでは、最大アップロードサイズが28.6 MBで停止し、より大きなファイルアップロードが404.13に戻り、コンテンツの長さが大きすぎることを示します.
なぜならIISのデフォルト設定でmaxAllowedContentLengthの値が限定されているからです.
<element name="requestLimits"><attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />
この値はIIS_Schema.xmlで設定します.(コンピュータ全体に影響します)
IISEXpress:IISEXpress実行パスの下、C:Program Files(x 86)IIS ExpressconfigschemaIIS_schema.xml IIS7、8:C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
この値を変更しても有効でない場合、2つの可能性があります.1つは、現在実行されているIISexpress/ISがオフ/再起動されていないことです.一つはwebです.configには、後述するように追加の構成があります.
しかし、グローバルな値を常に変更することなく、同じサーバ上の他のウェブサイトに影響を及ぼすことを避けるために、ウェブ上でもよい.configで構成します.
<system.webServer>
<!--
IISExpress:C:\Users\UserName\Documents\IISExpress\config\applicationHost.config
IIS7、8:C:\Windows\System32\inetsrv\config\applicationHost.config
<section name="requestFiltering" overrideModeDefault="Allow" />
overrideModeDefault Allow , 。
IIS_Schema.xml 。( )
IISExpress:IISExpress ,C:\Program Files (x86)\IIS Express\config\schema\IIS_schema.xml
IIS7、8:C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
defaultValue="30000000"(28.6MB) 。
<element name="requestLimits"><attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />
-->
<security>
<requestFiltering>
<!--maxAllowedContentLength=100MB-->
<requestLimits maxAllowedContentLength="104857600"></requestLimits>
</requestFiltering>
</security>
このコンテンツを有効にするには、アプリケーションホストで「継承を許可」を構成する必要がある.configで
IISExpress:C:\Users\UserName\Documents\IISExpress\config\applicationHost.config IIS7、8:C:\Windows\System32\inetsrv\config\applicationHost.config
参考資料:
http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits
http://www.cnblogs.com/henryhappier/archive/2010/09/20/1832098.html
https://msdn.microsoft.com/en-us/library/ms689462(v=vs.90).aspx