Jak przesłać wiele plików do określonej lokalizacji za pomocą Spring MVC? Kompletny samouczek z kodem Java

Opublikowany: 2013-06-22

To kolejny kompletny samouczek Spring MVC, który akceptuje plik w formularzu przesyłania i kopiuje go do określonego folderu w zdarzeniu „Prześlij”. Jak zwykle mamy dependency od Hello World Spring MVC Przykład.

Oto dodatki / zmiany, które musimy wykonać w tym przykładzie:

  • Nowy plik: CrunchifyFileUploadController.java
  • Nowy plik: CrunchifyFileUpload.java
  • Nowy plik: uploadfile.jsp
  • Nowy plik: uploadfilesuccess.jsp
  • Zmodyfikowany plik: crunchify-servlet.xml
  • 2 nowe pliki jar: commons-io-2.4.jar i commons-fileupload-1.3.jar

Masz któreś z poniższych pytań? Jesteś we właściwym miejscu.

  • Przykład przesyłania wielu plików Java
  • Prześlij wiele plików lub folderów

Oto ostateczna struktura projektu, dzięki czemu dowiesz się, gdzie dodać pliki.

Samouczek przesyłania plików Spring MVC autorstwa Crunchify

Teraz zacznijmy:

Krok-1) Warunek wstępny:

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/ (Wdróż ten projekt pomyślnie na Tomcat)

Zależności Mavena:

Dodaj poniżej nowe zależności do pliku pom.xml projektu.

Krok-2) SpringController

Utwórz kontroler oparty na Spring 3 MVC, który obsługuje przesyłanie plików. W tym kontrolerze są dwie metody:

  1. crunchifyDisplayForm – po prostu przekazuje żądanie do pageuploadfile.jsp
  2. crunchifySave — pobiera formularz za pomocą adnotacji @ModelAttribute i pobiera z niego zawartość pliku. Tworzy listę nazw plików przesyłanych plików i przekazuje tę listę do strony sukcesu.

Krok-3) Model – Obiekt formularza

Utwórz ziarno Java, które działa jako obiekt Model/Form dla naszej aplikacji Spring. Ten ziarno zawiera List obiektów org.springframework.web.multipart.MultipartFile . Framework Spring zapewnia użyteczną klasę MultipartFile, która może być użyta do pobrania zawartości przesłanego pliku. Oprócz swojej zawartości obiekt MultipartFile dostarcza również inne przydatne informacje, takie jak nazwa pliku, rozmiar pliku itp.

Krok-4) Widoki JSP

Teraz utwórz strony widoku dla tej aplikacji. Będziemy potrzebować dwóch stron JSP, jednego do wyświetlania formularza przesyłania plików, a drugiego do wyświetlania wyników pomyślnego przesyłania.

uploadfile.jsp wyświetla formularz z danymi wejściowymi do pliku. Oprócz tego dodaliśmy mały fragment jquery po kliknięciu przycisku Dodaj. Spowoduje to dodanie nowego komponentu wejściowego pliku na końcu formularza. Dzięki temu użytkownik może przesłać tyle plików, ile chce.

Zauważ, że ustawiliśmy enctype=”multipart/form-data” naszego tagu <form> .

Krok-5) Zaktualizuj konfigurację wiosenną

Dodaj poniżej fasolę do pliku crunchify-servlet.xml , tuż nad <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> .

Krok 6) Wynik kasy

Uruchom tomcat i skieruj przeglądarkę na ten adres URL: http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html i powinieneś zobaczyć ekran podobny do tego.

Crunchify Spring MVC — przykład przesyłania wielu plików

Po przesłaniu pliku zobaczysz taki komunikat o sukcesie. Zawsze możesz upiększyć swój plik .jsp tak, jak chcesz.

Crunchify Spring MVC - Przesyłanie wielu plików Przykładowy wynik

Lista wszystkich przykładów Spring MVC, przykładów Java.