2009-08-13 5 views
0

Je télécharge des images sur le stockage S3 à l'aide d'un trombone. Il télécharge avec succès.Évitez la mise en cache après la mise à jour de l'image pour Paperclip

Dans mon application, un utilisateur peut modifier sa photo de profil. Si l'utilisateur change de photo de profil, la nouvelle image sera téléchargée avec succès. Le problème est que le navigateur affichera la photo précédente seulement après le téléchargement. Ce n'est qu'après un rafraîchissement forcé par le ctrl + F5 que la nouvelle image sera affichée.

Remarque: l'image est mise en ligne à l'aide du formulaire. Je suppose que c'est lié à la mise en cache, mais je ne sais pas où je peux changer mon code. S'il vous plaît aidez-moi ça. Merci.

Répondre

2

Quelle propriété de votre objet image utilisez-vous en tant que src de votre image? Si vous utilisez user.image.url (en supposant que vous avez un modèle User et que le champ Paperclip s'appelle image), l'URL de l'image sur S3 doit avoir un nombre dans la chaîne de requête qui arrête toute mise en cache pour que vous puissiez voir immédiatement l'image mise à jour. Par exemple, l'URL de l'image doit passer de

http://s3.amazonaws.com/bucket/images/5/original/pic.gif?1250184309 

à

http://s3.amazonaws.com/bucket/images/5/original/pic.gif?1250184348 

qui devrait arrêter le navigateur en cache l'image.

+0

Merci Eifion .... j'ai obtenu le soulagement de votre réponse – palani

Questions connexes