8

私はCarrierWaveとFogを使用して、S3のActiveRecordモデルへの添付ファイルを保存しています。私はURLを生成するためにそれらを使用することができますが、私は実際にファイルを読み取るための方法を見つけることはできません。FogとCarrierWaveを使用してファイルオブジェクトを読み取る方法はありますか?

これはフォグの宝石でさえあるでしょうか、それともS3の宝石を使用する必要がありますか?

答えて

20

が必要です。我々はCarrierWaveのmount_uploaderメソッドを使用して追加されたattachmentと呼ばれるフィールドを持っているmymodelという呼ばれるモデルを持っている場合は、私たちは、次の操作を実行できます。

obj = MyModel.first 
contents = obj.attachment.read 

これは、ファイルの実際の内容を取得します。 this docをチェックしてください。

+0

SUPER、あなたの言うとおりに動作します。ありがとう! – AKWF

+0

明らかに良い+1 – apneadiving

+1

いいえ、これはlocal_rootが設定されたローカルに保存されたファイルでは機能しません。 – AKWF

3

あなたはただあなたがアップローダオブジェクトにreadメソッドを使用することができますopen-uri

require 'open-uri' 
file_contents = open(string_url) {|f| f.read } 
関連する問題