Comment télécharger plusieurs fichiers vers un emplacement spécifique à l'aide de Spring MVC ? Tutoriel complet avec code Java

Publié: 2013-06-22

Ceci est un autre tutoriel Spring MVC complet qui accepte le fichier sur le formulaire de téléchargement et le copie dans un dossier spécifique lors de l'événement "Soumettre". Comme d'habitude, nous avons une dependency sur Hello World Spring MVC Example.

Voici donc les ajouts/modifications que nous devons effectuer dans cet exemple :

  • Nouveau fichier : CrunchifyFileUploadController.java
  • Nouveau fichier : CrunchifyFileUpload.java
  • Nouveau fichier : uploadfile.jsp
  • Nouveau fichier : uploadfilesuccess.jsp
  • Fichier modifié : crunchify-servlet.xml
  • 2 nouveaux fichiers jar : commons-io-2.4.jar et commons-fileupload-1.3.jar

Vous avez une des questions ci-dessous ? Alors vous êtes au bon endroit.

  • Exemple de téléchargement de plusieurs fichiers Java
  • Télécharger plusieurs fichiers ou dossiers

Voici une structure de projet finale afin que vous ayez une idée de l'endroit où ajouter des fichiers.

Tutoriel de téléchargement de fichiers Spring MVC par Crunchify

Commençons maintenant :

Étape-1) Pré-requis :

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/ (Déployer ce projet avec succès sur Tomcat)

Dépendances Maven :

Ajoutez ci-dessous de nouvelles dépendances au fichier pom.xml de votre projet.

Étape 2) SpringController

Créez un contrôleur basé sur Spring 3 MVC qui gère le téléchargement de fichiers. Il existe deux méthodes dans ce contrôleur :

  1. crunchifyDisplayForm - Il transmet simplement la demande à la pageuploadfile.jsp
  2. crunchifySave - Récupère le formulaire à l'aide de l'annotation @ModelAttribute et en extrait le contenu du fichier. Il crée une liste de noms de fichiers de fichiers en cours de téléchargement et transmet cette liste à la page de réussite.

Étape-3) Modèle - Objet de formulaire

Créez un bean Java qui agit comme objet Model/Form pour notre application Spring. Ce bean contient une List d'objets org.springframework.web.multipart.MultipartFile . Le framework Spring fournit une classe utile MultipartFile qui peut être utilisée pour récupérer le contenu du fichier téléchargé. Outre son contenu, l'objet MultipartFile vous donne également d'autres informations utiles telles que le nom du fichier, la taille du fichier, etc.

Étape 4) Vues JSP

Créez maintenant les pages de vue pour cette application. Nous aurons besoin de deux JSP, un pour afficher le formulaire de téléchargement de fichier et un autre pour afficher le résultat d'un téléchargement réussi.

Le uploadfile.jsp affiche un formulaire avec une entrée de fichier. En dehors de cela, nous avons ajouté un petit extrait jquery en cliquant sur le bouton Ajouter. Cela ajoutera un nouveau composant d'entrée de fichier à la fin du formulaire. Cela permet à l'utilisateur de télécharger autant de fichiers qu'il le souhaite.

Notez que nous avons défini enctype=”multipart/form-data” de notre <form> .

Étape-5) Mettre à jour la configuration de Spring

Ajoutez le bean ci-dessous au fichier crunchify-servlet.xml , juste au-dessus de la ligne <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> .

Étape-6) Résultat de la caisse

Démarrez Tomcat et pointez votre navigateur vers cette URL : http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html et vous devriez voir un écran similaire à celui-ci.

Crunchify Spring MVC - Exemple de téléchargement de fichiers multiples

Après le téléchargement du fichier, vous verrez un message de réussite comme celui-ci. Vous pouvez toujours embellir votre fichier .jsp comme vous le souhaitez.

Crunchify Spring MVC - Téléchargement de fichiers multiples Exemple de résultat

Liste de tous les exemples Spring MVC, exemples Java.