dポイントプレゼントキャンペーン実施中!

私は、今、Javaで作成しているシステム上に画像アップロード機能を作成しています。

これは、アップロードする画像と同時に、テキストデータを送信したかったので、JavaCommonsのFileUploadを使用せずに、
http://homepage3.nifty.com/uzblend/servlet/#x71
こちらを参考に画像ファイルアップロードを作成しました。

ここで一つ困ったことが起きました。
ファイルをアップロードをして、ページを参照しても、すぐには画像が更新されず、サーバを再起動しないと更新されないです。

なんとか解決する方法はないでしょうか。

開発環境
WindowsXP
J2SE 5.0
Tomcat5.0

A 回答 (2件)

>ページを参照しても、すぐには画像が更新されず、サーバを再起動しないと更新されないです


キャッシュが出てるって事はないですか?
それとも画像自体が表示されないのですか?

キャッシュが出てるのだとしたら、画像URLに現在時刻をクエリパラメータとして付与させると簡単なキャッシュ対策になります。

<img src="a.jpg?date=20070202127550">

この回答への補足

画像をアップロードして、一度キャッシュを削除してから、
再度表示しようとしても元の画像なので、キャッシュではないと思われます。

ちなみにその方法を試してみましたが、ダメでした。

今、一時的な打開策として、画像だけ別のWebサーバに管理させてなんとか成功しました。
しかし、この方法はあまり好ましくないので、別の方法はないでしょうか。

補足日時:2007/02/02 15:44
    • good
    • 0

ちょっと"サーバを再起動しないと更新されない"点で、


気になったんですが、ちゃんとファイルをcloseして
いるでしょうか?

たぶん、サーブレットからリソース(画像ファイル)が
開放されないので、更新されないんじゃないでしょうか?
再起動させることで、強制的にリソースが開放されるので
更新がかかるんじゃないかと予想してみました。

ファイルの保存を行っているところで、closeメソッドを
呼んでいることを確認してみてください。

http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/ja …
    • good
    • 0
この回答へのお礼

すみません。もうこの件は、別のサーバを立てるということで、解決してしまいました。

ちなみに、closeメソッドを呼んでいるか確認してみたところ、しっかり呼んでいました。理由はやっぱりわかりません。

おそらく、apacheなんかと連携することで、解決することができると思います。

お礼日時:2007/02/17 20:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!