質問

私は、クリップの宝石を使用して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

は画像をキャッシュするブラウザを停止する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top