Загрузка файлов на сервер и хранение файлов на диск с помощью Spring Framework 3 - PullRequest
1 голос
/ 30 июня 2010

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

Я подумал, что это может быть хорошим способом использовать идентификатор таблицы базы данных в папке, например:

context_path/table_name/id/filename.file

Ответы [ 2 ]

3 голосов
/ 30 июня 2010

Ваш подход к сохранению файла в каталоге с именем идентификатора строки в базе данных довольно хорош.Нет хорошего способа сделать эту транзакцию действительно безопасной на 100% (файловые системы не совсем понимают концепцию «транзакции» или «двухфазной фиксации»).

Просто убедитесь, что context_path настраивается так,данные можно легко перемещать.

3 голосов
/ 30 июня 2010

Существует три варианта:

  • сохранить их в базе данных как BLOB-объекты
  • сохранить их в папке, внешней по отношению к веб-приложению (и настраиваемой в свойствах приложения), и сохранитьссылка (в БД) на подпапку + имя файла в базе данных
  • помещает элементы в другое хранилище, например, в хранилище содержимого, и сохраняет ссылку (в БД) на уникальный ключ ресурса

Это касается не только пружины, но и любого применения.

...