ASP.NET MVCが大ファイルをアップロードする場合404

1539 ワード

この間、会員のアップロードコンポーネントはFLASHのswfuploadに変更され、アップロードの進捗状況を友好的に表示することができ、大きなファイルのアップロードを完全に満たすことができます.
その後、サーバーがwindows 2008にアップグレードされ、IIS 7に変更された後、アップロードファイルが30 Mを超えると404エラーが発生し、アップロードの進捗が100%に達した後、本当に理解しにくいです.
 
繰り返しテストした結果、FLASHはファイルを正しく実行していないことが分かった.NETプログラム、つまり.NETプログラム自体に問題があります.
しかし、30 M未満はすべてOKで、アップロードするファイルのサイズが制限されているのではないでしょうか.
Webをチェックします.configのhttpRuntime:
<httpRuntime maxRequestLength="2097151" executionTimeout="50000" />

もう大きな価値があります.
詳しいエラー情報が正確に得られないので、普通のFORMでFileUploadテストを提出します.configの設定の問題:

エラーメッセージ:


最も可能な理由:Webサーバ上のリクエストフィルタは、コンテンツ長が構成の値を超えるため、リクエストを拒否するように構成されています.
試行可能な操作:アプリケーションホストを確認します.configまたはweb.configファイルのconfiguration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLengthを選択します. 
リンクと詳細は、セキュリティ機能です.変更の影響範囲が完全に理解されていない限り、この機能を変更しないでください.IIS 7.0サーバを構成して、指定した値より長いコンテンツの要求を拒否できます.このエラーは、要求されたコンテンツの長さが構成された長さより大きい場合に返されます.コンテンツの長さを増やす必要がある場合はconfiguration/systemを変更します.webServer/security/requestFiltering/requestLimits@maxAllowedContentLengthを選択します.
 

ソリューション


従来のIIS 7のアップロードファイルサイズは、クラシックモードでもsystemにしなければならない.webServerに設定して、付け加えるとOKです.
    <system.webServer>

      <security>

        <requestFiltering >

          <requestLimits maxAllowedContentLength="1073741824" ></requestLimits>

        </requestFiltering>

      </security>

    </system.webServer>