- - PR -
UNIX でファイルへのパスが消えてしまう。
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-12-07 00:28
いつもお世話になっております。
アレクです。 UNIX 上でファイルへのパスがうまく渡らない現象に遭遇しています。 フォームから、ファイルがあるディレクトリへのパスを指定して、 その指定先のファイルを、呼び出したいのですが、サーブレットで パラメータを取得すると、"/" 以前のパスが全部消えてしまって、 ファイルを呼び出すことが出来ません。 例えば、 フォームに→ /usr/local/pic/picture.jpg と入力したとすると、 サーブレット側では、→ picture.jpg となってしまっているのです。 Internet Explorer から呼び出す時は、ちゃんとパスが渡るのですが、 UNIX から、Mozilla などで呼び出すと、パスが消えてしまいます。 色々調べてみたのですが、分かりませんでした。 どなたか、同じような状況に遭遇した方はおられないでしょうか? | ||||||||||||
|
投稿日時: 2002-12-07 10:58
せめて環境とコードの一部抜粋しないと原因なんかわからないでしょう。
サーバがUNIXで、コンテナは? クライアントはWindowsだけです? フォームの該当部分のコードは? フォームからはGET?POST? 送信内容の受け取り部分のコードは? まだいろいろありそうですけれど。 | ||||||||||||
|
投稿日時: 2002-12-07 21:28
そうですよね。すみません。 サーバは TurboLinux 7 で、Apache2.0 & Tomcat4.1 と、 テスト用に、Windows 2000 & Tomcat4.1 を使用しています。 フォームのコード:
main.class:
と、こんな感じです。 これを Windows の Tomcat に置いて、InternetExplorer 5 と Netscape 6.2 でテストすると、ちゃんとパスが消えないで表示されるのですが、 TurboLinux の Tomcat に置いて、Mozilla 1.0 から呼び出すとパスが消えてしまいます。 ちなみに、TurboLinux に置いてあっても、InternetExplorer とかだと、 ちゃんと "/" 以前のパスも表示してくれます。 これはブラウザに問題があるのでしょうか? それとも、私のプログラムミスでしょうか? | ||||||||||||
|
投稿日時: 2002-12-08 12:48
ブラウザの挙動の問題でしょうね。たぶん。
プロトコルアナライザや sniffer なりでパケットを覗いてみましょう。 少なくとも IE, N6 -> Linux や Moz -> Win してみりゃ、ブラウザの問題かサーバの問題かわかるでしょ? 予想ですが、HTTP ファイルアップロードの規格(RFC なんちゃら)で仕様が曖昧になっており、付けようが付けまいがどちらが正しいともいえないんでは。 # 日本語ファイル名がらみがどうとか、パス付けると secure がとか、 # いろいろありそうなので、なんとも。 # bugzilla.mozilla.org でもあたってみるとか。 | ||||||||||||
1
