使用carrierwave在亚马逊s3上传文件时出错

时间:2013-11-17 16:17:12

标签: ruby-on-rails ruby amazon-s3 carrierwave fog

我在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

我有一个错误,当存储是雾时,在文件中,我成功运行了。 谢谢你的帮助。此致!

1 个答案:

答案 0 :(得分:1)

也可能存在其他问题(如果没有确切的错误或跟踪,我们无法分辨),但在此之前:

  1. 我不知道这是你的代码或copypasta中的拼写错误,但是在你的aws_secret_access_key之后你错过了一个逗号。

  2. fog_directory不应以斜线结尾。