Wie lade ich mehrere Dateien mit Spring MVC an einen bestimmten Ort hoch? Vollständiges Tutorial mit Java-Code

Veröffentlicht: 2013-06-22

Dies ist ein weiteres vollständiges Spring MVC-Tutorial, das Dateien im Upload-Formular akzeptiert und sie beim „Submit“-Ereignis in einen bestimmten Ordner kopiert. Wie üblich haben wir eine dependency von Hello World Spring MVC Example.

Dies sind also die Ergänzungen / Änderungen, die wir in diesem Beispiel vornehmen müssen:

  • Neue Datei: CrunchifyFileUploadController.java
  • Neue Datei: CrunchifyFileUpload.java
  • Neue Datei: uploadfile.jsp
  • Neue Datei: uploadfilesuccess.jsp
  • Geänderte Datei: crunchify-servlet.xml
  • 2 neue JAR-Dateien: commons-io-2.4.jar und commons-fileupload-1.3.jar

Haben Sie eine der folgenden Fragen? Dann sind Sie hier genau richtig.

  • Beispiel für das Hochladen mehrerer Dateien in Java
  • Laden Sie mehrere Dateien oder Ordner hoch

Hier ist eine endgültige Projektstruktur, damit Sie eine Vorstellung davon bekommen, wo Sie Dateien hinzufügen können.

Spring MVC File Upload Tutorial von Crunchify

Jetzt fangen wir an:

Schritt-1) Voraussetzung:

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/ (Stellen Sie dieses Projekt erfolgreich auf Tomcat bereit)

Maven-Abhängigkeiten:

Fügen Sie der pom.xml -Datei Ihres Projekts unten neue Abhängigkeiten hinzu.

Schritt-2) SpringController

Erstellen Sie einen Spring 3 MVC-basierten Controller, der das Hochladen von Dateien verarbeitet. Es gibt zwei Methoden in diesem Controller:

  1. crunchifyDisplayForm – Es leitet die Anfrage einfach an die pageuploadfile.jsp weiter
  2. crunchifySave – Ruft das Formular mit der Annotation @ModelAttribute ab und ruft daraus den Dateiinhalt ab. Es erstellt eine Liste mit Dateinamen der hochzuladenden Dateien und leitet diese Liste an die Erfolgsseite weiter.

Schritt-3) Modell – Formularobjekt

Erstellen Sie eine Java-Bean, die als Modell-/Formularobjekt für unsere Spring-Anwendung fungiert. Diese Bean enthält eine List von org.springframework.web.multipart.MultipartFile Objekten. Spring Framework bietet eine nützliche Klasse MultipartFile, die verwendet werden kann, um den Dateiinhalt der hochgeladenen Datei abzurufen. Neben seinem Inhalt gibt Ihnen das MultipartFile-Objekt auch andere nützliche Informationen wie Dateiname, Dateigröße usw.

Schritt-4) JSP-Ansichten

Erstellen Sie nun die Ansichtsseiten für diese Anwendung. Wir benötigen zwei JSPs, einen zum Anzeigen des Datei-Upload-Formulars und einen zum Anzeigen des Ergebnisses bei erfolgreichem Upload.

Die uploadfile.jsp zeigt ein Formular mit Dateieingabe an. Abgesehen davon haben wir beim Klicken auf die Schaltfläche Hinzufügen ein kleines Jquery-Snippet hinzugefügt. Dadurch wird am Ende des Formulars eine neue Dateieingabekomponente hinzugefügt. Auf diese Weise können Benutzer so viele Dateien hochladen, wie sie möchten.

Beachten Sie, dass wir das enctype=”multipart/form-data” unseres <form> -Tags gesetzt haben.

Schritt-5) Aktualisieren Sie die Spring-Konfiguration

Fügen Sie die Bean unten zur Datei crunchify-servlet.xml , direkt über der Zeile <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> .

Schritt-6) Checkout-Ergebnis

Starten Sie Tomcat und richten Sie Ihren Browser auf diese URL: http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html und Sie sollten einen ähnlichen Bildschirm sehen.

Crunchify Spring MVC – Beispiel zum Hochladen mehrerer Dateien

Nach dem Hochladen der Datei sehen Sie eine Erfolgsmeldung wie diese. Sie können Ihre .jsp-Datei jederzeit nach Belieben verschönern.

Crunchify Spring MVC - Beispielergebnis für das Hochladen mehrerer Dateien

Liste aller Spring MVC-Beispiele, Java-Beispiele.