Добавляем механизм загрузки файлов на сервер (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