Как загрузить несколько файлов в определенное место с помощью Spring MVC? Полное руководство с кодом Java

Опубликовано: 2013-06-22

Это еще одно полное руководство по Spring MVC, которое принимает файл в форме загрузки и копирует его в определенную папку в событии «Отправить». Как обычно, у нас есть dependency от примера Hello World Spring MVC.

Итак, вот какие добавления/изменения нам нужно выполнить в этом примере:

  • Новый файл: CrunchifyFileUploadController.java
  • Новый файл: CrunchifyFileUpload.java
  • Новый файл: uploadfile.jsp
  • Новый файл: uploadfilesuccess.jsp
  • Измененный файл: crunchify-servlet.xml
  • 2 новых файла jar: commons-io-2.4.jar и commons-fileupload-1.3.jar

У вас есть вопросы? Тогда вы находитесь в правильном месте.

  • Пример загрузки нескольких файлов Java
  • Загрузить несколько файлов или папок

Вот окончательная структура проекта, чтобы вы поняли, куда добавлять файлы.

Учебное пособие по загрузке файлов Spring MVC от Crunchify

Теперь приступим:

Шаг 1) Предварительное условие:

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/ (успешно разверните этот проект на Tomcat)

Зависимости Maven:

Добавьте ниже новые зависимости в файл pom.xml вашего проекта.

Шаг 2) SpringController

Создайте контроллер на основе Spring 3 MVC, который обрабатывает загрузку файлов. В этом контроллере есть два метода:

  1. crunchifyDisplayForm — просто перенаправляет запрос на pageuploadfile.jsp
  2. crunchifySave — извлекает форму с помощью аннотации @ModelAttribute и получает из нее содержимое файла. Он создает список имен загружаемых файлов и передает этот список на страницу успеха.

Шаг 3) Модель — объект формы

Создайте Java-бин, который действует как объект модели/формы для нашего приложения Spring. Этот компонент содержит List объектов org.springframework.web.multipart.MultipartFile . Платформа Spring предоставляет полезный класс MultipartFile, который можно использовать для извлечения содержимого загруженного файла. Помимо своего содержимого, объект MultipartFile также предоставляет вам другую полезную информацию, такую ​​как имя файла, размер файла и т. д.

Шаг 4) Представления JSP

Теперь создайте страницы просмотра для этого приложения. Нам понадобятся две JSP, одна для отображения формы загрузки файла, а другая для отображения результата успешной загрузки.

В uploadfile.jsp отображается форма с файловым вводом. Кроме того, мы добавили небольшой фрагмент jquery по нажатию кнопки «Добавить». Это добавит новый компонент ввода файла в конце формы. Это позволяет пользователю загружать столько файлов, сколько он хочет.

Обратите внимание, что мы установили enctype=”multipart/form-data” нашего <form> .

Шаг 5) Обновить конфигурацию Spring

Добавьте ниже bean-компонент в файл crunchify-servlet.xml , чуть выше строки <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> .

Шаг 6) Результат проверки

Запустите Tomcat и укажите в браузере этот URL-адрес: http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html, и вы должны увидеть экран, похожий на этот.

Crunchify Spring MVC — пример загрузки нескольких файлов

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

Crunchify Spring MVC — загрузка нескольких файлов Пример Результат

Список всех примеров Spring MVC, примеров Java.