• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アップロードした画像の格納先について)

アップロードした画像の格納先について

このQ&Aのポイント
  • ユーザが画像をアップロードして、それを表示するプログラムを作成しています。画像をどういうディレクトリに格納すればいいのか困っています。
  • 現在は、例えば「test」というアプリケーションだとすると、test/imagesディレクトリに格納するようにしています。しかし、test.warをデプロイすると、imagesディレクトリのデータが削除されてしまいます。
  • 質問なのですが、このような場合に、test配下のディレクトリを画像の格納先にすることは正しい方法なのか。もしそうだとしたら、デプロイ時に画像が削除されない方法はあるのか。また、test配下以外のディレクトリに格納するのが正しい場合は、htmlのimgタグでどのように画像へのパスを記述すればいいのか。あるいは全く別の方法があるのか。Servlet, JSPを使用し、開発環境はTomcat5.5(Windows)です。

質問者が選んだベストアンサー

  • ベストアンサー
  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

> Tomcat5.5で設定をしようとしているのですが、うまくいきません。 > server.xmlの中に下記を加えて再起動しました。 > <Server> > (中略) > <Context path="/test/images" docBase="C:\var\test\images"/> > </Server> > これで、C:\var\test\imagesにsup.jpgというファイルを置けば、 > http://localhost/test/images/sup.jpg http://localhost/ なの? http://localhost:8080/ とかじゃないのね? 私はservlet.xmlを編集はしたことないので私のやり方で説明するわ。 CATALINA_HOME\conf\Catalina\localhost\test#images.xml を作ってファイルの中身は <Context path="/test/images" reloadable="true" docBase="C:\var\test\images"> </Context> こんな感じかしら。

annyG
質問者

お礼

ありがとうございました。できました!

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

HTTPServerの設定に依存するわ。 たいていのサーバは http://ドメイン/アプリ/images というパスを好きなディレクトリに設定することができるわ。 逆に言うとそれができないサーバは選択肢に入れないべきね。 できないものを知らないけど。

annyG
質問者

お礼

ありがとうございます。 つまり、仮想ディレクトリを設定すればいい、ということでしょうか。 勉強になりました。 で、Tomcat5.5で設定をしようとしているのですが、うまくいきません。 server.xmlの中に下記を加えて再起動しました。 <Server> (中略) <Context path="/test/images" docBase="C:\var\test\images"/> </Server> これで、C:\var\test\imagesにsup.jpgというファイルを置けば、 http://localhost/test/images/sup.jpg で画像が表示されるはずだと考えていたのですが、404が出ます。  どこか他にも設定するところがあるでしょうか? それともこの設定が悪いでしょうか。