从S3下载载波上传

jos*_*ine 5 ruby ruby-on-rails download amazon-s3 carrierwave

我想下载使用载波上传到S3的图像。该图像在Card模型上,作为上传器安装。我看到了这个答案,但是很难使该解决方案生效。我的代码是:

#download image from S3
uploader = card.image       #image is the mounted uploader
uploader.retrieve_from_store!(File.basename(card.image.url))
uploader.cache_stored_file!
Run Code Online (Sandbox Code Playgroud)

最后一行抛出:“ ...导致异常(nil:NilClass的未定义方法'body')...”

我的载波配置看起来像:

#config/initializers/carrierwave.rb
CarrierWave.configure do |config|
  config.storage = :fog
  config.cache_dir = "#{Rails.root}/tmp/upload"
  ...
end
Run Code Online (Sandbox Code Playgroud)

jos*_*ine 3

谢谢呼吸潜水。这很简单:

image = MiniMagick::Image::open(card.image.to_s)
image.write(somepath)
Run Code Online (Sandbox Code Playgroud)