2010-12-29 2 views
0

Я создаю приложение Ruby on Rails, которое сбрасывает изображения с веб-сайта. Какое лучшее место для сохранения этих изображений?Где сохранить скребковые изображения?

Редактировать: Чтобы быть ясным, я знаю, что файловая система является лучшим типом хранилища, но где в файловой системе? Я полагаю, что мне нужно оставаться в каталоге приложений RoR, но какая папка лучше всего подходит для этого? public?

+0

Файловая система, я бы мог себе представить. Без дополнительной информации трудно быть более конкретным. – David

+0

Да, конечно, файловая система, но где именно. У приложений RoR есть определенная структура, но я не знаю, какой каталог лучше всего подходит для этого. – Rits

+0

Типичное решение: Где-то под 'public'. См., Например: http://www.tutorialspoint.com/ruby-on-rails/rails-file-uploading.htm –

ответ

3

На файловом сервере (статический сервер Apache), на вашем сервера приложений (за исключением некоторых, где локально на диске и служат через сервер приложений) или на Amazon S3

Но я хотел бы предложить, чтобы не хранить в базе данных. (Некоторые люди думают, что это нормально Итак, я была бы ограничена предложением.)


в ROR, под <app_name>/public/imagessee here - но данные будут открытыми. Если вас беспокоит неприкосновенность частной жизни, возможно, это неправильно.

Если вы обеспокоены неприкосновенностью частной жизни, см. Обсуждаемые здесь варианты How to store private pictures and videos in Ruby on Rails Но, как правило, подача файлов с приложения-сервера может быть болезненной в условиях высокого трафика, и мой опыт заключается в том, что он лучше загружен на файловый сервер или облака, как S3.

+0

Я отредактировал мой вопрос. – Rits

+0

Расширение ответа «не хранить в базе данных»: файлы для файловой системы. Базы данных не предназначены для файлов. Только не делай этого, пожалуйста. –

+0

Если я хотел бы, чтобы данные были приватными, то какое местоположение вы рекомендуете? – Rits

0

Нетрудно написать и/или создать сервер, обслуживающий только изображения из хранилища файлов вне структуры вашего сайта. Простое переписывание URL-адреса может предоставить вашему коду информацию, необходимую ему для фактического местоположения файла, которое затем выводится в браузер.

Альтернативный вариант заключается в том, чтобы URL-адрес изображения сопоставлялся с пути к каталогу изображения в базе данных, а затем выполнял поиск. Сделайте поле URL индексированным поиском, и он будет очень быстрым.

Я написал сервер изображений в Ruby пару лет назад по этим строкам, и это была довольно простая задача.

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