Скрепка на Heroku? - PullRequest
       35

Скрепка на Heroku?

11 голосов
/ 23 февраля 2011

Мне было любопытно, если бы кто-нибудь мог получить скрепку, работая над Heroku, не используя S3. Я предполагаю, что Heroku - система только для чтения, но там должен быть какой-то способ сохранять изображения.

Ответы [ 5 ]

19 голосов
/ 23 февраля 2011

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

12 голосов
/ 23 февраля 2011

Вы можете сохранять изображения в каталогах log и tmp.

Однако это ужасная, ужасная идея.

  • Если вы git push heroku, ваше приложение будет развернуто в новом dyno. У нового динамо не будет изображений, и изображения исчезнут навсегда.

  • Если у вас есть две динамометра, и одна динамограмма сохраняет изображение, изображение не будет доступно для следующей динамо.

Таким образом, фактически, нет хорошего способа сохранить изображения в файловой системе.

Если хотите, вы можете написать свой собственный адаптер для Paperclip, который будет хранить изображения в базе данных.

Но на самом деле вы должны хранить изображения в S3 при использовании Paperclip на Heroku, потому что это простой способ сделать это по умолчанию.

3 голосов
/ 16 мая 2017

Это для кого-то вроде меня, который не имеет кредитной карты и все еще хочет, чтобы она работала, поскольку вам необходимо предоставить учетные данные кредитной карты для использования S3. Cloudinary Gem здесь позволяет моделям Rails, управляемым через Paperclip, хранить изображения и файлы в экземпляре Cloudinary. Мне только нужно было добавить файл yaml в мой каталог конфигурации и указать хранилище, путь в моей модели следующим образом.

has_attached_file :image,
  :storage => :cloudinary,
  :path => ':id/:style/:filename'

Для получения более подробной информации см. Ссылку выше.

3 голосов
/ 24 февраля 2011

Кроме того, это также та же самая причина, по которой SASS требуется плагин для Heroku, ограниченный доступ к диску.Я использую Paperclip во многих приложениях на Heroku, как уже говорили другие, S3 с рук - это путь.

0 голосов
/ 23 февраля 2011

Может быть Amazon EBS можно использовать с Heroku - или это слишком низкий уровень?

...