2013-04-25 2 views
4

Вчера я развернул свое первое приложение Heroku, и все отлично поработало.Изображение исчезло на Heroku

В моем приложении вы можете загрузить изображение, я сделал и смог увидеть его на странице «показать». Однако сегодня изображение исчезло. Все остальное работает нормально. Приложение работает отлично на моей локальной машине, а также на Heroku, кроме изображения, которого нет.

В чем может быть проблема? Как я могу убедиться, что это не повторится?

ответ

20

Heroku не поддерживает загрузку файлов. Файловая система только для чтения. Вы должны размещать загруженные файлы где-то в другом месте (или из базы данных, что является плохим вариантом).

https://devcenter.heroku.com/articles/read-only-filesystem

Amazon S3 является общим выбором: http://devcenter.heroku.com/articles/s3

Если вы используете какие-либо драгоценные камни, как скрепка или carrierwave для загрузки, используя S3 будет простым. Вам нужно будет установить учетные данные S3 в файле конфигурации, и драгоценный камень позаботится о загрузке и предоставит URL-адреса для загруженного файла.

+0

Да, я использую paperclip, S3 звучит как хорошая идея. благодаря –

6

Я подозреваю, что вы загрузили изображение в файловую систему Heroku, а не внешнее хранилище, такое как Amazon S3. Файловая система Heroku является временной и не разделяется между динамиками или перезапусками, которые Heroku будет делать каждый день. Я подозреваю, что это то, что произошло здесь, в результате чего вы потеряли свой образ.

Смежные вопросы