ペーパークリップ用画像の更新後にキャッシュを避けます
-
13-09-2019 - |
質問
私は、クリップの宝石を使用してS3のストレージに画像をアップロードしています。それが正常にアップロードします。
私のアプリケーションでは、ユーザーは、自分のプロフィールの写真を変更することができます。ユーザーがプロフィール写真の変更を行う場合は、新しいイメージが正常にアップロードされます。問題は、ブラウザのみアップロード後に前の写真が表示されますです。唯一の打撃CTRL + F5による力のリフレッシュ後の新画像表示ます。
注:画像は、フォームのポストを使用してアップロードされます。私はそれがキャッシュとの関連だと思うが、私は自分のコードを変更することができます手掛かりを持っていません。私これを助けてください。おかげます。
解決
あなたの画像オブジェクトのどのような性質は、あなたのイメージのsrc
として使用していますか?あなたは(あなたがuser.image.url
モデルを持っており、ペーパークリップのフィールドのと呼ばれるUser
ことと仮定して)image
を使用する場合は、S3上の画像のURLは、あなたがすぐに更新された画像が表示されるように任意のキャッシュを停止するように作用するクエリ文字列に数字を持っている必要があります。例えば、画像のURLから変更する必要があります。
http://s3.amazonaws.com/bucket/images/5/original/pic.gif?1250184309
タグに
http://s3.amazonaws.com/bucket/images/5/original/pic.gif?1250184348
は画像をキャッシュするブラウザを停止する必要があります。
所属していません StackOverflow