10

MVC4とC#を使用してWebアプリケーションを作成しています。

ユーザーがプロフィール写真の画像をアップロードできるようにしています。この時点で、ブラウザがページをリロードしたときに新しい画像が表示されるように、前のプロフィール写真を期限切れにする必要があります。現在、両方の画像が同じ名前を共有しているため、ブラウザは新しい画像の代わりにキャッシュされた前の画像を使用します。

ブラウザにF5でリロードさせると、新しい画像が表示されます。プロフィールページに戻ったユーザーに、F5キーを押さずに、ブラウザーのキャッシュにある画像ではなく、新しい画像が表示されるようにするにはどうすればよいですか?

4

2 に答える 2

7

画像ファイル名の最後にダミーパラメータを追加できます。例えば、

<img src="...\avatar.jpg?d=7615833">

ここで、番号はランダムまたはタイムスタンプです。無視されますが、存在するとブラウザに画像の再読み込みが強制されます。

于 2012-11-13T21:52:09.577 に答える
2

サーバーに画像を保存するときは、ファイル名にランダムなテキストの(静的)ビットを追加し、画像が変更されたときに再生成します。これにより、ブラウザは同じ画像の場合は画像をキャッシュし、画像が変更された場合は画像を再読み込みします。これにより、不要なページの読み込み時間を追加することなく、目的の動作が得られます。

于 2012-11-13T22:00:01.970 に答える