我在carrierwave上传器中上传图片时遇到问题
这是 config / initailizers / fog.rb :
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => '<redacted>',
:aws_secret_access_key => '<redacted>'
}
config.fog_directory = 'illusioncalendar'
config.cache_dir = "#{Rails.root}/tmp/uploads"
config.fog_public = false
end
这是 app / uploaders / avatar_uploader.rb :
class AvatarUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :fog
def store_dir
"illusioncalendar/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def default_url
ActionController::Base.helpers.asset_path("fallback/" + [version_name, "default.png"].compact.join('_'))
"/images/fallback/" + [version_name, "default.png"].compact.join('_')
end
process :scale => [200, 300]
version :thumb do
process :scale => [200, 200]
end
version :small do
process :scale => [48, 48]
end
def extension_white_list
%w(jpg jpeg gif png)
end
def cache_dir
"#{Rails.root}/tmp/uploads"
end
end
我有一个错误,当存储是雾时,在文件中,我成功运行了。 谢谢你的帮助。此致!
答案 0 :(得分:1)
也可能存在其他问题(如果没有确切的错误或跟踪,我们无法分辨),但在此之前:
我不知道这是你的代码或copypasta中的拼写错误,但是在你的aws_secret_access_key之后你错过了一个逗号。
fog_directory不应以斜线结尾。