- ベストアンサー
アップロードした画像の格納先について
- ユーザが画像をアップロードして、それを表示するプログラムを作成しています。画像をどういうディレクトリに格納すればいいのか困っています。
- 現在は、例えば「test」というアプリケーションだとすると、test/imagesディレクトリに格納するようにしています。しかし、test.warをデプロイすると、imagesディレクトリのデータが削除されてしまいます。
- 質問なのですが、このような場合に、test配下のディレクトリを画像の格納先にすることは正しい方法なのか。もしそうだとしたら、デプロイ時に画像が削除されない方法はあるのか。また、test配下以外のディレクトリに格納するのが正しい場合は、htmlのimgタグでどのように画像へのパスを記述すればいいのか。あるいは全く別の方法があるのか。Servlet, JSPを使用し、開発環境はTomcat5.5(Windows)です。
- みんなの回答 (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> こんな感じかしら。
その他の回答 (1)
- askaaska
- ベストアンサー率35% (1455/4149)
HTTPServerの設定に依存するわ。 たいていのサーバは http://ドメイン/アプリ/images というパスを好きなディレクトリに設定することができるわ。 逆に言うとそれができないサーバは選択肢に入れないべきね。 できないものを知らないけど。
お礼
ありがとうございます。 つまり、仮想ディレクトリを設定すればいい、ということでしょうか。 勉強になりました。 で、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が出ます。 どこか他にも設定するところがあるでしょうか? それともこの設定が悪いでしょうか。
お礼
ありがとうございました。できました!