MVC3 アクション ファイル サイズ制限 質問する

MVC3 アクション ファイル サイズ制限 質問する

jQueryベースのファイルアップロードプラグインを実装していますhttp://blueimp.github.com/jQuery-ファイルアップロード/ダウンロードできるサンプルMVC3アプリがありますhttps://github.com/maxpavlov/jQuery-File-Upload.MVC3

サンプルの作成者はホーム ビューにコメントを残しています:

@*MVC アクションを AJAX 呼び出しのハンドラーとして使用するには、以下のフォーム宣言を使用します。(コメント アウトされているもの) MVC コントローラーを使用してリクエストを処理する場合、POST リクエストの maxMessageLength を制御できないため、セキュリティを犠牲にしてサイト全体で大きな POST メッセージ サイズを許可しない限り、大きなファイルをアップロードする機能が役に立たなくなるため、これはお勧めできません。

MVC フレームワークがアクションごとに maxMessageLength を設定する方法を提供するまでは、HTTP ハンドラを使用してアップロード要求を処理する方が適切です *@

これはまだ当てはまるでしょうか?

<httpRuntime maxRequestLength="x" />web.config で設定できることはわかりましたが、これはセキュリティ上の脆弱性であると理解しています。これも事実でしょうか?

HttpHandler を使用する代わりにコントローラーでアップロードを処理したいのですが、ファイル サイズによって制限されたくありませんし、必要がない限りセキュリティ上の脆弱性を導入したくありません。

アップデート:

この投稿によるとファイルアップロード ASP.NET MVC 3.0デフォルトのファイルサイズ制限は4MBです。この制限を確認しましたhttp://msdn.microsoft.com/en-us/library/e1f13641.aspx脆弱性を理解します。

これは、4 MB を超えるファイルをコントローラー アクション経由でアップロードする唯一の方法ですか?

ベストアンサー1

アップロードサイズの制限はウェブ構成具体的なコントローラアクションには位置要素:

<configuration>
    <location path="Home/UploadFiles">
        <system.web>
            <httpRuntime maxRequestLength="40960"/>
        </system.web>
    </location>
</configuration>

どこコントローラー名であり、ファイルをアップロードアクション名です。ここでのサイズ制限は 40MB です。

それでも、私に言わせれば、Http ハンドラーを使用してファイルのアップロードを処理するのは悪い解決策ではありません。

おすすめ記事