- - PR -
Strutsのhtml:fileタグについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-03-15 00:36
いつもお世話になっています。
早速質問なのですが、Strutsのhtml:fileタグを使ってファイルを取得した際、 入力されたパスにファイルが存在するかチェックすることはできますか? 現在はファイルがない=0バイトということで下記のようなチェックをしているのですが、 厳密に「ファイルがあるかどうか」をチェックしたいです。 ご存知の方がいましたら教えてください。 よろしくお願いします。 // DTOからファイル情報を取得 FormFile file = dto.getUploadfile(); // ファイル名が入力されていない場合、またはファイルサイズが0バイトの場合 if ( file.getFileName().toString().equals( "" ) || file.getFileSize() == 0 ) { // エラー処理 }else{ // 正常処理 } | ||||
|
投稿日時: 2007-03-15 01:35
いまひとつ話が読めないのですが… Struts側でリクエストが来た時点でファイルは送られてきていますよね。 入力されたパスってなんでしょうか? HTMLのtypeがfileのinputタグのことですか? サーバ側ではクライアントのフォルダ構造なりファイルなりは把握できませんよ。 HTTP的なやり取りのどの過程の話なのでしょう? | ||||
|
投稿日時: 2007-03-16 00:36
1.html:fileタグによって生成される”参照”ボタンを押して、ダイアログからファイルを選択
2.参照ボタンの左にあるテキストエリアに表示されたパスを存在しないパスに手で書き換える 例)C:\\Documents and Settings\\Administrator\\デスクトップ\\テスト.txt を、 C:\\Documents and Settings\\Administrator\\デスク\\テスト.txt に書き換える 3.この状態で実行ボタンを押し、アクション/業務ロジックを起動させる 4.業務ロジックから呼ばれるチェッククラスで、テキストエリアに記述されたファイルが存在するかチェックする 5.ファイルがない場合、エラー処理を行う 上記の4番のチェック、 つまり「入力されたパスは適切か?ファイル名は存在するファイル名か?」をチェックしたいです。 >サーバ側ではクライアントのフォルダ構造なりファイルなりは把握できませんよ。 やっぱり無理なんですね。ありがとうございました。 | ||||
|
投稿日時: 2007-03-16 00:45
ファイルフォームはファイル名を送る為のものではなく、
ファイルを送る為のものですよ。 | ||||
|
投稿日時: 2007-08-06 18:27
// formからファイル情報を取得
FormFile file = form.getUploadfile(); // 存在チェック if (file.getInputStream().read() == -1) { // 存在しない } | ||||
|
投稿日時: 2007-08-06 18:50
これは「ファイルは存在しているが中身は空っぽである」が正しいのでは? <追記> 今さらだけど、からファイルでは0にはなっても、 マイナスにはなりませんね。失礼しました。 [ メッセージ編集済み 編集者: Edosson 編集日時 2007-08-07 09:41 ] | ||||
|
投稿日時: 2007-08-06 21:53
ファイルがない場合はbrowserからエラーがかえらなかったけ?
不正なアクセス〜とか |
1