我正在使用aws-sdk gem并尝试验证上传到存储桶的文件是否存在。 我也在使用Paperclip 2.7。
此方法似乎不起作用:
if record.image and AWS::S3::S3Object.exists? record.image, "mybucket-dev"
我认为AWS :: S3 :: S3Object.exists?是一个来自旧宝石aws-s3的方法?
我可以用什么方法来测试文件中是否存在文件?
事实上,我想检查的真实路径是这样的:
record.image.to_file(:tiny).path
(我的图片的微小版本)
感谢。
答案 0 :(得分:3)
试试这个
AWS::S3.new.buckets["bucket"].objects["file path on s3"].exists?
如果文件存在,上面的代码将返回true
,否则返回false
。
供您日后参考,请参阅http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/S3Object.html#
希望这会有所帮助。
答案 1 :(得分:0)
尝试查看此文档
http://rubydoc.info/github/stesla/fog/Fog/AWS/S3:head_object 不确定它有用,这是使用雾
答案 2 :(得分:0)
请试试这个
obj = AWS :: S3 :: Bucket.find(“bucket_name”)
obj.objects [对象] .exists?
这将返回true或false。
OR
AWS :: S3 :: S3Object.exists? “path to file”,“bucket_name”
答案 3 :(得分:0)
Aws :: S3 :: Object.new(地区:'ap-southeast-1',凭证:'cred',密钥:'key',bucket_name:'bucket')。存在?