問題のファイルがまだ存在しない場合にうまく機能するようなコードが少しあります。
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 キャッシュと関係があるに違いないと思います。最終的には... 更新されるからです。しかし、1日かそこら後だけですか?そして、それは私のブラウザがキャッシュしているわけではないので、おそらくこれです。キャッシュをダンプするように指示する方法を知っている人はいますか?