2013-11-20 12 views
5

Stworzyłem prostą aplikację ROR i zainstalowane spinacz z tej konfiguracjiGdzie przechowywać Heroku przesłanych plików przy użyciu spinacza

has_attached_file :attachment, 
    :path => ":rails_root/public/system/:attachment/:id/:filename", 
    :url => "/system/:attachment/:id/:filename 

następnie stworzyłem prostą formę, która pobiera plik jako wejście z poziomu przeglądarki internetowej użytkownika, po tym adres URL pliku jest wyświetlany model.attachment.url, a użytkownik może ponownie pobrać plik.

Próbowałem uruchomić kilka komend linuksowych, aby dowiedzieć się, gdzie są przechowywane pobrane pliki 'ls /app/public/system/attachments/', ale nie wszystkie moje przesłane pliki.

Przesyłane są również niektóre pliki, ale próbując je odzyskać, otrzymuję błąd 404!

ma ktoś kiedyś takiego problemu?

+2

heroku ma system plików tylko do odczytu https://devcenter.heroku.com/articles/read-only-filesystem –

Odpowiedz

6

Heroku utrzymuje spinacze przesyłając obrazy przez kilka minut, a następnie automatycznie je usuwa, zachowuje tylko obrazy znajdujące się w zasobach. Aby zachować dokumenty lub obrazy, potrzebujesz amazon s3 lub innych usług sieciowych.

+0

Wiem, że używanie S3 jest rozwiązaniem, Chciałem tylko wiedzieć, dlaczego są usuwane automatycznie. –