我正在使用回形针 gem 将图像上传到 S3 存储。它上传成功。
在我的应用程序中,用户可以更改他的个人资料照片。如果用户更改个人资料照片,则新图像将成功上传。问题是浏览器只会在上传后显示上一张照片。只有在按 ctrl + F5 强制刷新后才会显示新图像。
注意:图片是使用表单发布上传的。我想这与缓存有关,但我不知道在哪里可以更改我的代码。请帮我解决这个问题。谢谢。
我正在使用回形针 gem 将图像上传到 S3 存储。它上传成功。
在我的应用程序中,用户可以更改他的个人资料照片。如果用户更改个人资料照片,则新图像将成功上传。问题是浏览器只会在上传后显示上一张照片。只有在按 ctrl + F5 强制刷新后才会显示新图像。
注意:图片是使用表单发布上传的。我想这与缓存有关,但我不知道在哪里可以更改我的代码。请帮我解决这个问题。谢谢。
您使用图像对象的什么属性作为图像的属性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
这应该停止浏览器缓存图像。