Получение изображений, когда база данных находится в удаленном месте - PullRequest
0 голосов
/ 26 декабря 2010

Я занимаюсь разработкой приложения с использованием Java, к моему приложению будет одновременно обращаться несколько разных пользователей, а база данных будет находиться на центральном сервере. Доступ к базе данных с удаленного сервера осуществляется путем предоставления соответствующего IP-адреса сервера в файле конфигурации Hibernate.

Мой вопрос заключается в том, что я должен хранить картинку, касающуюся каждого пользователя базы данных. Я слышал, что хранить изображение в базе данных и извлекать его из базы данных не рекомендуется и отрицательно влияет на производительность. Это так?

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

1 Ответ

2 голосов
/ 26 декабря 2010

хорошо, сохраните изображения на сервере приложений в файловой системе и сохраните их ссылку на столбец image_location таблицы пользователей. см .: Хранение фотографий для веб-приложения


Примечание : если у вас несколько серверов приложений, лучше хранить файлы в общем месте, доступном для всех серверов приложений, в одинаковой форме. Хранить файл в базе данных не очень хорошая идея.


Как указано @sasidhar, вот что я бы сделал:

  1. Создайте центральный сервер образов с ОС Unix. Убедитесь, что он имеет фиксированный IP-адрес.
  2. В вашем приложении используйте JSch для безопасного копирования файла с клиентского компьютера в выделенный каталог на сервере
  3. Обновите image_location таблицы пользователей, указав относительный путь к изображению из "/"
  4. При просмотре я проверю относительный путь пользователя и получу его снова, используя протокол безопасной передачи файлов JSch.

Кстати, настройка FTP может быть лучшей альтернативой.


Почему бы вам не использовать БД в качестве хранилища файлов? Смотрите здесь: Хранение изображений в БД - да или нет?

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