我想这样做:
AWS.config(
:access_key_id => '...',
:secret_access_key => '...'
)
s3 = AWS::S3.new
bucket_name = 'bucket_name'
key = "#{File.basename(avatar_big)}"
s3.buckets[bucket_name].objects[key].write(:file => avatar_big_path)
这适用于文件,文件上传到设置存储桶的根目录。
但是,如何将其上传到根目录中的作品照片?
我试过
key = "photos/#{File.basename(avatar_big)}"
但这不起作用。
编辑:错误消息
谢谢
答案 0 :(得分:1)
我和OP有同样的问题。这对我有用:
key = "photos/example.jpg"
bucket = s3.buckets[bucket_name]
filepath = Pathname.new("path/to/example.jpg")
o = bucket.objects[key]
o.write(filepath)
我要检查的东西将是您尝试使用的对象键。没有太多关于限制的文档(请参阅this和this),但错误消息中显示的内容对我来说很可疑。
答案 1 :(得分:0)
尝试在文件密钥中包含路径:
s3.buckets[bucket_name].objects[key].write(:file => "photos/#{avatar_big_path}")