Найти тему
letsCode

Spring Boot MVC: загрузка файлов на сервер и раздача статики

Добавляем механизм загрузки файлов на сервер (file upload) и настраиваем доступ к статическим файлам, таким как картинки, стили (css) и javascript.

Код из видео:

https://github.com/drucoder/sweater/tree/FileUpload

Guide по загрузке файлов:

https://spring.io/guides/gs/uploading-files/

Первым делом в файле application.properties добавляем свойство, в котором будет храниться абсолютный путь в файловой системе, где мы будем сохранять загруженные файлы и откуда мы их будем раздавать:

upload.path=/some/file/on/your/computer

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

После этого добавляем поле загрузки файла в форму ввода сообщения и код, выводящий картинку в список сообщений (при наличии картинки у сообщения)

Далее перемещаемся в контроллер MainController и добавляем обработку MultipartFile параметра формы. Для исключения коллизий к имени загружаемого файла мы добавляем ключ из UUID.

Также в MvcConfig нам нужно добавить мэпинг для раздачи статического контента из classpath. Отличие мэппингов для статики и загруженных файлов в том, что для статики мы указываем путь, начинающийся с "classpath:", что означает, что поиск файлов будет происходить в директории приложения, а для загруженных файлов путь будет начинаться с "file:" и поиск файлов будет происходить во внешней директории, указанной пользователем

Документация по Freemarker:

https://freemarker.apache.org/docs/index.html

Канал в Telegram: https://t.me/letsCode_dru

Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw

Ссылка на канал: https://www.youtube.com/channel/UC1g3kT0ZcSXt4_ZyJOshKJQ