- - PR -
ファイルアップロードの際のファイルサイズ制限について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-14 19:08
素朴に、「アップロード可能なファイルサイズは2MBまで!」という仕様でOKなんでしょうか? # ユーザにとっては不便なような気がしたので...(^^; | ||||
|
投稿日時: 2005-10-14 21:53
ぼのぼのさんのおっしゃる通り検索すればたどりつけるんですが、 maxRequestLengthをいじればいい、のですかね。 | ||||
|
投稿日時: 2005-10-14 22:50
一般的な手段かどうかはわかりませんが。。
httpRuntime要素のmaxRequestLengthの設定値を超えた場合、 Webページまで処理が届かないのは、ご存知の通りです。 10MBのファイルをアップロードすれば、数十秒経過後に ブラウザが真っ白になるか、HTTPエラーになったはずです。 で、私の場合は下記のように対処しました。 1.運用上アップロードされそうなサイズに合わせて、 余裕を持たせた値を、maxRequestLengthに設定。 (例えば、10MBを設定) 2.サーバ側で、PostedFile.ContentLengthを見て、 仕様の制限範囲内のサイズ内かどうかをチェック。 (例えば、2MB以内か判定) 2-1.サイズ内であれば、SaveAsなど適当な処理を行う。 2-2.サイズを超えていれば、警告を埋め込んだページを返す。 極力エラーページが表示されるのを避けることと、 イントラ内で限定のWebアプリケーションだったことと、 アップロード攻撃を受ける心配が無かったので、 このような対応を行いました。 愚直な方法ですが、参考になれば。 | ||||
|
投稿日時: 2005-10-14 23:44
いろいろなご意見ありがとうございます
たしかにmaxRequestLength の設定を変更して、サーバ側の処理でファイルサイズの判定をすれば、可能のようです。 2MBのファイルまでという仕様は、確かに不便ではあるのですが、ルールとして決められているので変更はできません。 現在開発しているシステムは、イントラネット内のみなので、葉瀬崎浩樹さんの方法は適用できそうです。 ただ、HTTPエラーとなるのは、避けたいという気持ちがありますが。 | ||||
|
投稿日時: 2007-04-13 11:08
こんにちは。
すみません。便乗で質問させて下さい。 フォームアップロードボタンとキャンセルボタンがあります。 前述のjavascriptを使って、ファイルのサイズをクライアント側で判断してアップロードを防ぐ方法はわかったのですが、 これによって、アップロードが拒否され、キャンセルボタンを押した場合、 ファイルの参照先が指定された状態のままになっていると、 ポストされてしまって、サーバへのアクセスが拒否されてしまいます。 ファイルサイズを判断して、設定サイズ以上だった場合、メッセージを出すだけでなく、 参照先のパスそのものをテキストボックスから消すことはできないでしょうか。 | ||||
|
投稿日時: 2007-04-13 22:15
"消す" のか、"他のを設定する" のかわからないので、無理です。 JavaScript なら、同じページにリダイレクトという方法もありますが、そうすると他の設定値まで消えてしまう。。。 _________________ | ||||
|
投稿日時: 2007-04-15 16:13
こんにちは。
説明が下手で、どうもすみません。 できれば、テキストボックスに空文字か何かを設定して、ポストされるようにしたいです。 | ||||
|
投稿日時: 2007-04-16 14:51
>JavaScript なら、同じページにリダイレクトという方法もありますが、そうすると他の>設定値まで消えてしまう
これがヒントになって、何とかできました。 from1(表示するページ)の下にform2(空のフォーム)を作って、キャンセルボタンが押されたら、form2をjavascriptで同じページにsubmitするようにしました。 ありがとうございました。 |