2010-06-30 5 views
1

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

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

context_path/table_name/id/filename.file 

ответ

3

Есть три варианта:

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

Это дело не только весной, но и с любым приложением.

3

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

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

+0

Я думаю, что он успешно справился с загрузкой – Bozho

+0

Да, пропустил это. Обновлен мой ответ –

+0

Может кто-нибудь может опубликовать некоторые части его/ее кода? Как вы переместили, например, файл MultiPart в пункт назначения? нужны шаги? – Czar

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