2011-08-25 8 views
8

Oto mój stary kod wysyła plik do przeglądarki:Jak wysłać plik do użytkownika z użytkownikiem carrierwave?

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

ale ostatnio okazało się, że katalog tmp nie mogą być wykorzystywane jako trwałe składowanie na Heroku, więc postanowiłem przenieść plik do AWS S3.

To, co mam do tej pory:

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

Teraz, w jaki sposób mogę wysłać plik do przeglądarki?

UPD

I itentionally nie zamontować uploader

Odpowiedz

15

zdobione.

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

    send_file uploader.file.path 
end 
+0

próbowałem tego, ale miał problemy: http://stackoverflow.com/questions/14179553/download-a-carrierwave-upload-from-s3 Any pomysły? –

+1

Post na blogu już nie istnieje. –

0

W moim przypadku

# find uploader ... 

send_file(uploader.path, 
     filename: uploader.filename, 
     type: "application/<some-type>") 
Powiązane problemy