Rails上传到Amazon S3存储桶

时间:2017-11-01 22:10:57

标签: ruby-on-rails amazon-web-services amazon-s3

我在同一个Amazon S3帐户中有两个不同的存储桶。我可以上传到一个而不是另一个。

pictures.rb

def self.set_s3_direct_post
  return S3_BUCKET.presigned_post(key: "uploads/#{SecureRandom.uuid}/${filename}", success_action_status: '201', acl: 'public-read')
end

aws.rb

S3_BUCKET = Aws::S3::Resource.new.bucket(ENV['S3_FIRST_BUCKET'])

尝试更改存储分区(使用S3_SECOND_BUCKET而不是S3_FIRST_BUCKET)会导致上传失败。我注意到上传失败的网址格式为:

https://s3.amazonaws.com/%E2%80%9Csecond_bucket%E2%80%9D

但成功上传的内容如下:

https://first_bucket.s3.amazonaws.com

我该如何控制?

1 个答案:

答案 0 :(得分:0)

原谅。我在TextEdit中编辑了〜/ .profile文件。增加了一行:

export S3_SECOND_BUCKET="second_bucket"

second_bucket附近加上略微卷曲的双引号。事实证明这些双引号与Sublime Text 2使用的不同,它们是直的(如上所述)。 TextEdit版本未被识别为引号。干杯TextEdit,你没有。