Kobarin's Development Blog

C#やASP.NET、公開APIなどについての記録です。

クライアント側のキャッシュに残っている画像を更新させる方法

多くのBBS等でも既出だけど、
クライアント側のキャッシュが原因で、サーバーから読み込む画像が一時的に更新されないという現象がよくある。
特に問題となるのが、FileUploadコントロールを使った場合。
初回アップロード時は、それまで画像がなかったため問題とならないが、
同じファイル名で新しいファイルに置き換えた場合に、「画像が変わらないぞ」という事になる。


簡単に解決する方法としてよく示されているのは、
「画像ファイル名の最後に、日付等のランダムなパラメータを付け加える」
というもの。
具体的には、下記のようなコートにする事で解決される。
この事例では、パラメータとして時間を付けている。

Image.ImageUrl = String.Format("/images/{0}?d={1}", "pic.jpg", DateTime.Now.ToString("hh_mm_ss"););