我使用paperclip gem将图像上传到S3存储。它上传成功。
在我的应用程序中,用户可以更改他的个人资料照片。如果用户更改了个人资料照片,新图像将成功上传。问题是浏览器只会在上传后显示上一张照片。只有在按下按钮ctrl + F5强制刷新后才会显示新图像。
注意:图像是使用表单发布的。我想这与缓存有关,但我不知道我可以在哪里更改代码。请帮我解决这个问题。感谢。
答案 0 :(得分:2)
您使用图像对象的哪些属性作为图像的src
?如果您使用user.image.url
(假设您拥有User
模型并且Paperclip字段名为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
应停止浏览器缓存图像。