- - PR -
アップロードファイルのサイズチェック
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-01-05 21:39
J2EE環境で、HTTPによるファイルアップロード時、
クライアント側でファイル・サイズのチェックを行おうと しています。 VBSのファイルサイズ・チェックとアップロード処理、 個別に行うことはできるのですが、 連携の方法が分かりません。 アップロードボタン押下時、クライアントサイドで ファイルサイズをチェックし、OKの場合のみ アップロード処理が行われるようにするには どうしたらよろしいでしょうか? Windows XP SP2 IE6.0 SP1 WebLogic8.1J SP3 J2EE1.3 です。 よろしくお願いします。 | ||||
|
投稿日時: 2005-01-06 00:28
VBSでファイルサイズをチェックしておき、
Submitイベントで、チェック結果OKであれば アップロード処理を続行し、NGであれば処理 を行わないようにすればよいと思います。 | ||||
|
投稿日時: 2005-01-06 01:01
色々問題はありますが、こんなのなら出来ると思います。
<html> <head> <script language="VBScript"> Sub fnOnClick() Set Fs = CreateObject("Scripting.FileSystemObject") If Fs.FileExists(document.foo.uploaded_file.value) then Set fl = Fs.getFile(document.foo.uploaded_file.value) If fl.size >= 3000 then alert("ファイルが大きすぎます") else document.foo.submit() end if else alert("ファイル名が無効です") end if End Sub </script> </head> <body> <form name="foo"> <input type="file" name="uploaded_file" > <input type="button" onclick="fnOnClick()"> </form> </body> </html> | ||||
|
投稿日時: 2005-01-06 02:25
ちなみにサーバサイドでは[最大POSTサイズ]で指定できます。
管理コンソールでいうところの[プロトコル->HTTP->最大POSTサイズ]ですね。 http://edocs.beasys.co.jp/e-docs/wls/docs81/adminguide/web_server.html#120770 悪意のあるリクエストを防ぎたいのであればこちらを設定したほうが良いでしょう。 手前に Web サーバを立てて Webサーバプラグインを使っている場合はMasPostSizeパラメータを設定します。 http://edocs.beasys.co.jp/e-docs/wls/docs81/plugins/plugin_params.html#1154602 あとご質問とは直接関係ありませんが WLS の最新バージョンは SP4 になります。 トラブルを未然に防ぐためにも最新版にしておくと良いでしょう。 http://jp.bea.com/BeaPortal/application?namespace=BeaPortal&origin=index.jsp&event=link.evamenu&ID=1&VERSION_KEY=16 | ||||
|
投稿日時: 2005-01-07 18:44
ありがとうございました。
VBSでリクエストをサブミットする方法を知りませんでした。 解決です。 その他いろいろのアドバイス、参考にさせていただきます。 | ||||
|
投稿日時: 2005-01-20 02:08
VBScriptを使用すると、アップロードファイルのサイズチェックが出来るんですね。
初めて知りました。 クライアント側でファイルサイズのチェックの話題で追加でご質問させていただきたいのですが、 JavaScriptを使用して同様にアップロードファイルのサイズチェックを行うことは 可能なのでしょうか? | ||||
|
投稿日時: 2005-01-20 20:28
最近知ったのですが、 IE限定なら、ActiveXObjectが使えますよ。 MSDNにマニュアルがあります。 getFileオブジェクトでサイズ取れるんじゃないかな? やっとことないですけど… ![]() | ||||
|
投稿日時: 2005-01-22 15:38
こんにちは。
JavaScriptとActiveXObjectを使って書いてみました。
因みに、私の環境では、AntiVirusに、「悪質なスクリプトを検出しました」とか、 IE6に、「ActiveXを実行しますが良いですか」みたいなことを言われます。 実行は出来ますけど。 |