У Heroku всего 100 МБ файлового хранилища, верно? Я делаю низкоуровневое приложение для рельсов, и мне очень нравится Heroku, но если мое приложение позволяет каждому пользователю загружать одно изображение, мне может быстро не хватить места... есть ли простое решение, которое позволит мне иметь альтернативу файловое хранилище для фотографий профиля или что-то в этом роде?
Хранилище файлов Heroku
Ответы (3)
См. эту запись в блоге.
В вашей модели.
has_attached_file :picture,
:styles => {:large => "275x450>"},
:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => "appname/:attachment/:style/:id.:extension"
В s3.yml в вашем конфигурационном каталоге:
development:
bucket: bucketname
access_key_id: key
secret_access_key: key
production:
bucket: bucketname
access_key_id: key
secret_access_key: key
Затем зарегистрируйтесь для получения корзины на Amazon S3: http://aws.amazon.com/s3/.
Я бы порекомендовал вам проверить надстройку heroku, которая находится https://addons.heroku.com/cloudinary. Вы получите 500 МБ для бесплатной и простой интеграции с heroku.
Для приложения RoR вы можете проверить: https://devcenter.heroku.com/articles/cloudinary#using-with-ruby-on-rails
Также есть документация для Nodejs и Django.
Да, самое простое решение — использовать api.imgur.com, который позволяет бесплатно загружать 1250 изображений в час.
Вам просто нужно зарегистрироваться и получить свой идентификатор клиента, затем вам нужно отправить почтовый запрос на
https://api.imgur.com/3/upload
с данными изображения в качестве данных формы. Затем вы получаете ссылку на загруженное изображение в ответных данных, которые вы можете сохранить в базе данных, а затем вы можете получить доступ к изображению, как и к любому другому изображению, со ссылкой из внешнего интерфейса.
больше здесь:
ссылка на документацию Imgur API