Добавить
Уведомления

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

Spring Boot Web Application (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 ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Чат в Discord: https://discord.gg/xs6XxSx ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ Поддержать проект: ➡ Patreon https://www.patreon.com/letscodedru ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➡ WebMoney/BitCoin https://funding.webmoney.ru/d/drucoder ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ Ссылка на канал: https://www.youtube.com/channel/UC1g3kT0ZcSXt4_ZyJOshKJQ Ссылка на Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5

Иконка канала letsCode
2 подписчика
12+
1 просмотр
8 лет назад
12+
1 просмотр
8 лет назад

Spring Boot Web Application (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 ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ ➡ Твиттер: https://twitter.com/letsCodeDru ➡ Чат в Discord: https://discord.gg/xs6XxSx ➡ Группа Вконтакте: https://vk.com/letscodedru ➡ Канал в Telegram: https://t.me/letsCode_dru ➡ Чат в Telegram: https://t.me/joinchat/FeiP9xEhqHajfqhLr4z-Nw ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ Поддержать проект: ➡ Patreon https://www.patreon.com/letscodedru ➡ Яндекс.Деньги https://money.yandex.ru/to/41001451675086 ➡ PayPal paypal.me/letscodedru ➡ Qiwi https://qiwi.me/letscode ➡ WebMoney/BitCoin https://funding.webmoney.ru/d/drucoder ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖ Ссылка на канал: https://www.youtube.com/channel/UC1g3kT0ZcSXt4_ZyJOshKJQ Ссылка на Яндекс.Дзен: https://zen.yandex.ru/media/id/5ac20956168a91ffeae449c5

, чтобы оставлять комментарии