5

Carrierwave を使用して S3 にアップロードされたイメージをダウンロードしたいと考えています。画像は、アップローダーとしてマウントされたカードモデルにあります。この回答を見ましたが、その解決策を機能させるのに苦労しました。私のコードは次のとおりです。

#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!

その最後の行はスローします:「...例外が発生しました(nil:NilClassの未定義のメソッド「本体」)...」

私のcarrierwave構成は次のようになります:

#config/initializers/carrierwave.rb
CarrierWave.configure do |config|
  config.storage = :fog
  config.cache_dir = "#{Rails.root}/tmp/upload"
  ...
end
4

2 に答える 2

3

ありがとうございます。それは次のように簡単でした:

image = MiniMagick::Image::open(card.image.to_s)
image.write(somepath)
于 2013-02-19T05:09:11.437 に答える