2011-08-25 17 views
8

Aquí está mi viejo código a un archivo envía al navegador:¿Cómo enviar archivos al usuario con carrierwave?

def show 
    send_file File.join(Rails.root, 'tmp', 'price.xls') 
end 

Sin embargo, recientemente he descubierto que la carpeta tmp no se puede utilizar como un almacenamiento persistente en Heroku, así que decidí mover el archivo a AWS S3.

Eso es lo que tengo hasta ahora:

def show 
    uploader = PriceUploader.new 
    uploader.retrieve_from_store!('price.xls') 
end 

Ahora, ¿Cómo se envía el archivo al navegador?

UPD

I itentionally no se montó el cargador

Respuesta

15

descubierto.

def show 
    uploader = PriceUploader.new 
    uploader.retrieve_from_store!('price.xls') 
    uploader.cache_stored_file! 

    send_file uploader.file.path 
end 
+0

He intentado esto, pero tuvo problemas: http://stackoverflow.com/questions/14179553/download-a-carrierwave-upload-from-s3 Cualquier ideas? –

+1

La publicación del blog ya no existe. –

0

En mi caso

# find uploader ... 

send_file(uploader.path, 
     filename: uploader.filename, 
     type: "application/<some-type>") 
Cuestiones relacionadas