如果相关文件尚不存在,我有一些类似的代码可以正常工作。
if AWS::S3::S3Object.exists? file_name, bucket.name + path_to_images
puts "file exists (deleting)"
AWS::S3::S3Object.delete file_name, bucket.name + path_to_images, :force => true
end
AWS::S3::S3Object.store file_name,
File.read(file_path),
bucket.name + path_to_images,
:content_type => 'image/png',
:access => :public_read
`rm #{file_path}`
我遇到的问题是如果文件确实存在,我想用新副本覆盖它......现在我不确定覆盖它是否有问题,所以我尝试先删除文件,如果它已经存在. 那似乎也不起作用。所以我认为它要么没有删除它,要么也被缓存了。
当显示图像时,它当然会带有 ?123232 一个随机数,我什至尝试删除浏览器缓存只是为了好玩。
我敢肯定,我缺少一些简单的东西,而且无论如何可能是一种更简洁的方法。
谢谢
更新:我认为问题一定与云端或常规 s3 缓存有关,因为最终......它确实更新了。但仅仅过了一天左右?而且它不是我的浏览器缓存它,所以它可能是这样的。任何人都知道如何告诉它转储缓存?