- PR -

画像パスの取得方法

投稿者投稿内容
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-23 18:24
例えば、入力画面で「c:\\aaa\\bbb.jpg」と入力したのなら
「c:\\aaa\\bbb.jpg」という文字列を取得したいのですが
下記方法では「bbb.jpg」しか取得できません。

 FormFile filedata = (FormFile)objFrm.get(PICT);
 String image_name = filedata.getFileName();

デバッグモードで見ると、FormFileクラスには
fileNameというフィールドがあり、その中には
「c:\\aaa\\bbb.jpg」とフルパスが入っているのですが
getFileNameメソッドを使うと名前しか返ってきません。

「c:\\aaa\\bbb.jpg」を取得するにはどうしたら良いでしょうか。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-09-23 22:40
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/File.html#getAbsolutePath()
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2007-09-23 22:42
ん?
FormFileってStrutsか。
入力画面ってのがHTMLの方だとすると、取得は無理ですよ。
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-24 19:26
ぬしさん

ご教授いただきましてありがとうございます

かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-24 19:39
フォームのマルチパートリクエストでも、
<input type="file" name="foo_file">
なら、request.getParameter("foo_file")でパスが取得できるはず。
これはあくまでテキストボックス内に入力されている値です。

でもクライアントの送信元のパスなど、サーバにとって意味がない値なので、
クライアントの絶対パスに依存する仕組みはどうかと。
あと一歩
常連さん
会議室デビュー日: 2007/09/23
投稿数: 49
投稿日時: 2007-09-24 23:31
かつのりさん、ご教授いただきましてありがとうございま

編集画面の参照ボタンで指定したあと、確認画面で
表示させるためにパスが必要になっています

教えていただいた通りに作成してみたのですが
ファイル名しか取れません

何か書き方に問題があるのでしょうか
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-09-25 01:47
ブラウザによってはファイル名しか渡さないものもあるのでそもそも無理な場合もあるのかと。
私の記憶ではIE7はファイル名のみだった気がします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-09-25 01:56
IE6で試しましたけど、問題なさそうですよ。
コード:
<%=request.getParameter("foo") %>
<form method="post">
<input enctype="multipart/form-data" type="file" name="foo">
<input type="submit">
</form>


フルパスが表示されました。
FireFox2ではファイル名しか取れないみたいですね。
この辺はブラウザの挙動次第だと思います。

この様にミニマムコードを書いて試すといいと思います。

スキルアップ/キャリアアップ(JOB@IT)