【发布时间】:2018-03-21 03:23:16
【问题描述】:
我在将文件上传到 aws 并将 aws url 存储在我的本地数据库表中时使用carrierwave 和fog-aws。我创建了carrierwave.rb 文件来配置所有fog-aws 凭据。
begin
CarrierWave.configure do |config| # required
config.storage = :fog
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => 'Key_id', # required
:aws_secret_access_key => 'access_key', # required
:region => 'us-west-2' # o\tional, defaults to 'us-east-1'
# :fog => 'host',
# :endpoint => 'host'
}
config.fog_directory = 'my-images-server' # required
# see https://github.com/jnicklas/carrierwave#using-amazon-s3
# for more optional configuration
config.fog_public = true # optional, defaults to true
我的上传文件包含
class QueryUploader < CarrierWave::Uploader::Base
storage :fog
def store_dir
base_dir = File.join(Rails.root, "public", "uploads")
"#{base_dir}/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def cache_dir
"/tmp/service-quep"
end
def extension_white_list
%w(sql)
end
end
我读了很多文章,两天后头疼,仍然找不到任何解决方案。我的访问密钥没有空格,并且存储桶名称没有以斜杠结尾。谁能告诉我这是为什么
Expected(200) Actual(403 Forbidden) excon.error.response :body => "\n
SignatureDoesNotMatch我们计算的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。 YTUUYUDTDYJBKJNUFYD
错误来了。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 carrierwave fog-aws