Лучший способ хранить загруженные файлы в среде Spring MVC - PullRequest
2 голосов
/ 25 февраля 2012

Вопрос довольно прост: каков наилучший способ хранения загруженных файлов в кластерной среде Spring MVC?

Пример: скажем, я кодирую социальную сеть и у меня есть возможность загрузить своиЛичная фотография профиля.В этом случае у пользователя будет не более одного изображения, связанного с его профилем.

Тогда можно будет добавить столбец BLOB-объектов в таблицу пользователей в БД.масштабировать БД, а не папку, содержащую множество изображений).Это правда?Как я могу добиться этого в среде JPA (Hibernate и PostgreSQL)?Я видел аннотацию @Lob, но какой тип переменной я должен использовать?byte[]?

Другое решение - хранить их на жестком диске.Каков наилучший путь для хранения этих изображений?В папке webapp?В классе?В другой папке вне контекста Spring?

Большое спасибо за вашу помощь.

Обновление: важная деталь, которую я забыл сказать.Панель инструментов администрирования (CMS / серверная часть) этого веб-сайта будет кодироваться на PHP (я знаю, я знаю ...), а интерфейсная часть будет кодироваться на Java Spring (MVC).База данных полностью управляется Java-частью (JPA).Каким бы ни был окончательный выбор, он должен быть совместим с этим требованием.

1 Ответ

0 голосов
/ 25 февраля 2012

Я бы предпочел не хранить его в БД.Лучшее место - сервер для статических файлов (или CDN).

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

Что важнее, базы данных кажутся более дорогими, чем простая доставка контентасети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...