ASP.NETのアプリには、デフォルトの場合、POSTできるサイズが4MBに制限されている。POSTの制限なので、ファイルのアップロードをPOSTで行う場合も、このデフォルトの4MBの制限にかかる。(なお、IISのデフォルトは30MB)
大きなファイルをアップロードするためには、Web.configに次の設定を行う。
system.webセクションに、`<httpRuntime maxRequestLength=”サイズ指定” />` を追加し、サイズを指定する。単位はKbyteなので注意。
system.webServerセクションに、` <requestLimits maxAllowedContentLength=”サイズ指定”/>` を追加し、サイズを指定する。単位はByteなので注意。
今回指定しているのは、POSTなどでリクエストされるサイズなので、厳密のはアップロードされるファイルのサイズではない。他にも情報を送る場合には、MAXのファイルサイズ+送信データ量にする必要があるので注意。厳密に指定しなくてもよければ、大き目のサイズを指定しておくのがよい。
web.configの設定例)
<system.web>
<httpRuntime maxRequestLength="20480" /><!--20MB 単位はKbyte-->
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="20971520"/><!--20MB 単位はByte-->
</requestFiltering>
</security>
</system.webServer>
参考:
https://zukucode.com/2018/06/aspnet-upload-size.html
※参考にしたところは、微妙にWeb.configの設定ミスがあるので注意。