Come caricare più file in una posizione specifica utilizzando Spring MVC? Tutorial completo con codice Java

Pubblicato: 2013-06-22

Questo è un altro tutorial completo di Spring MVC che accetta il file sul modulo di caricamento e lo copia in una cartella specifica sull'evento "Invia". Come al solito abbiamo una dependency da Hello World Spring MVC Example.

Quindi, queste sono le aggiunte/modifiche che dobbiamo eseguire in questo esempio:

  • Nuovo file: CrunchifyFileUploadController.java
  • Nuovo file: CrunchifyFileUpload.java
  • Nuovo file: uploadfile.jsp
  • Nuovo file: uploadfilesuccess.jsp
  • File modificato: crunchify-servlet.xml
  • 2 nuovi file jar: commons-io-2.4.jar e commons-fileupload-1.3.jar

Hai una delle seguenti domande? Allora sei nel posto giusto.

  • Esempio di caricamento di più file Java
  • Carica più file o cartelle

Ecco una struttura finale del progetto in modo da avere un'idea su dove aggiungere file.

Esercitazione sul caricamento di file MVC primaverili di Crunchify

Ora iniziamo:

Passaggio 1) Prerequisito:

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/ (distribuisci questo progetto con successo su Tomcat)

Dipendenze Maven:

Aggiungi di seguito nuove dipendenze al file pom.xml del tuo progetto.

Passaggio 2) SpringController

Crea un controller basato su MVC Spring 3 che gestisce il caricamento dei file. Ci sono due metodi in questo controller:

  1. crunchifyDisplayForm : inoltra semplicemente la richiesta a pageuploadfile.jsp
  2. crunchifySave : recupera il modulo utilizzando l'annotazione @ModelAttribute e ne ricava il contenuto del file. Crea un elenco di nomi di file caricati e passa questo elenco alla pagina di successo.

Passaggio 3) Modello – Oggetto modulo

Crea un bean Java che funge da oggetto Model/Form per la nostra applicazione Spring. Questo bean contiene un List di oggetti org.springframework.web.multipart.MultipartFile . Il framework Spring fornisce un'utile classe MultipartFile che può essere utilizzata per recuperare il contenuto del file caricato. Oltre al suo contenuto, l'oggetto MultipartFile fornisce anche altre informazioni utili come il nome del file, la dimensione del file ecc.

Passaggio 4) Viste JSP

Ora crea le pagine di visualizzazione per questa applicazione. Avremo bisogno di due JSP, uno per visualizzare il modulo di caricamento dei file e un altro per mostrare il risultato in caso di caricamento riuscito.

Il uploadfile.jsp mostra un modulo con l'input del file. Oltre a questo abbiamo aggiunto un piccolo frammento di jquery facendo clic sul pulsante Aggiungi. Questo aggiungerà un nuovo componente di input del file alla fine del modulo. Ciò consente all'utente di caricare tutti i file che desidera.

Nota che abbiamo impostato enctype=”multipart/form-data” del nostro tag <form> .

Passaggio 5) Aggiorna la configurazione di primavera

Aggiungi il bean sottostante al file crunchify-servlet.xml , appena sopra la riga <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> .

Passaggio 6) Risultato del pagamento

Avvia Tomcat e punta il tuo browser a questo URL: http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html e dovresti vedere una schermata simile a questa.

Crunchify Spring MVC - Esempio di caricamento di file multipli

Dopo il caricamento del file vedrai un messaggio di successo come questo. Puoi sempre abbellire il tuo file .jsp nel modo che preferisci.

Crunchify Spring MVC - Risultato di esempio di caricamento di file multipli

Elenco di tutti gli esempi Spring MVC, esempi Java.