我很难过这个。我正在使用Carrierwave with Fog来处理Heroku上托管的应用程序的缩略图上传,并且图像网址似乎无法正常生成。
我尝试过以三种不同的方式设置我的配置文件:
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'xxx',
:aws_secret_access_key => 'yyy',
}
config.fog_host = 'https://s3.amazonaws.com/statics.gallery.spongecell.com'
end
使图片网址正常工作,但我无法保存新图片而不会在我的日志中出现疯狂的错误(数百行后,说密钥不匹配。)
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'xxx',
:aws_secret_access_key => 'yyy',
}
config.fog_directory = 'statics.gallery.spongecell.com'
config.fog_host = 'https://s3.amazonaws.com/'
end
使上传工作,但不是图像!图像网址中缺少存储桶名称:http://s3.amasonaws.com//uploads/blah/etc
最奇怪的是:
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'xxx',
:aws_secret_access_key => 'yyy',
}
config.fog_host = 'https://s3.amazonaws.com/statics.gallery.spongecell.com'
config.fog_public = false
end
使这两个工作,但图像网址附加了s3密钥(坏!),它很慢。知道这里可能会发生什么吗?
提前致谢!
答案 0 :(得分:0)
我认为你根本不需要设置fog_host(如果你把它留空并只设置fog_directory我认为你应该得到你想要的)。如果你设置fog_public = false,额外的东西将是使用你的密钥生成的签名,但它实际上不应该包含任何秘密(这是S3允许你临时提供对通常是私有的东西的访问的方式)。希望有助于/澄清。