remove rails mount_uploader aws ruby-on-rails amazon-s3 ruby-on-rails-3.2 carrierwave fog

ruby on rails - rails - ¿Hay alguna manera de leer un objeto de archivo usando Fog y CarrierWave?



rails gem upload file (2)

Estoy usando CarrierWave y Fog para almacenar archivos adjuntos a un modelo de ActiveRecord en S3. Puedo usarlos para generar la URL, pero parece que no puedo encontrar ningún método para leer realmente un archivo.

¿Esto es algo que la gema de Niebla incluso hará, o necesito usar la gema S3 para eso?


Usted solo requiere open-uri

require ''open-uri'' file_contents = open(string_url) {|f| f.read }


Puedes usar el método de read en el objeto de subida. Si tenemos un modelo llamado MyModel que tiene un campo llamado attachment que se agregó usando el método mount_uploader de mount_uploader , podemos hacer lo siguiente:

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

Esto obtendrá los contenidos reales del archivo. Mira este documento .