Question

Je télécharger des images à l'aide de stockage S3 gem paperclip. Il télécharge avec succès.

Dans ma demande, un utilisateur peut changer sa photo de profil. Si l'utilisateur ne le changement de photo de profil, la nouvelle image se téléchargé avec succès. Le problème est le navigateur affichera la photo précédente seulement après le téléchargement. Seulement après une actualisation de la force par la frappe ctrl + F5 le nouvel affichage d'image.

Note: l'image est téléchargée à l'aide post formulaire. Je suppose que c'est lié avec la mise en cache, mais je n'ai pas la moindre idée où je peux changer mon code. S'il vous plaît aidez-moi cela. Merci.

Était-ce utile?

La solution

Quelle propriété de votre objet image utilisez-vous comme src de votre image? Si vous utilisez user.image.url (en supposant que vous avez un modèle de User et que le image appelé de champ Paperclip), puis l'URL de l'image sur S3 devrait avoir un certain nombre dans la chaîne de requête qui agit pour empêcher toute mise en cache de sorte que vous voyez l'image mise à jour immédiatement. 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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top