¿Cómo cargar varios archivos en una ubicación específica usando Spring MVC? Tutorial completo con código Java

Publicado: 2013-06-22

Este es otro tutorial completo de Spring MVC que acepta el archivo en el formulario de carga y lo copia en una carpeta específica en el evento "Enviar". Como de costumbre, tenemos una dependency en Hello World Spring MVC Example.

Entonces, estas son las adiciones/cambios que necesitamos realizar en este ejemplo:

  • Nuevo archivo: CrunchifyFileUploadController.java
  • Nuevo archivo: CrunchifyFileUpload.java
  • Nuevo archivo: uploadfile.jsp
  • Nuevo archivo: uploadfilesuccess.jsp
  • Archivo modificado: crunchify-servlet.xml
  • 2 nuevos archivos jar: commons-io-2.4.jar y commons-fileupload-1.3.jar

¿Tiene alguna de las siguientes preguntas? Entonces estás en el lugar correcto.

  • Ejemplo de carga de archivos múltiples de Java
  • Subir varios archivos o carpetas

Aquí hay una estructura de proyecto final para que tenga una idea de dónde agregar archivos.

Tutorial de carga de archivos Spring MVC por Crunchify

Ahora comencemos:

Paso-1) Requisito previo:

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/ (Implemente este proyecto con éxito en Tomcat)

Dependencias Maven:

Agregue a continuación nuevas dependencias al archivo pom.xml de su proyecto.

Paso-2) SpringController

Cree un controlador basado en Spring 3 MVC que maneje la carga de archivos. Hay dos métodos en este controlador:

  1. crunchifyDisplayForm : simplemente reenvía la solicitud a pageuploadfile.jsp
  2. crunchifySave : obtiene el formulario usando la anotación @ModelAttribute y obtiene el contenido del archivo. Crea una lista de nombres de archivo de los archivos que se cargan y pasa esta lista a la página de éxito.

Paso-3) Modelo - Objeto de formulario

Cree un bean de Java que actúe como objeto de modelo/formulario para nuestra aplicación Spring. Este bean contiene una List de objetos org.springframework.web.multipart.MultipartFile . Spring framework proporciona una clase útil MultipartFile que se puede usar para obtener el contenido del archivo cargado. Además de su contenido, el objeto MultipartFile también le brinda otra información útil, como el nombre del archivo, el tamaño del archivo, etc.

Paso 4) Vistas JSP

Ahora cree las páginas de vista para esta aplicación. Necesitaremos dos JSP, uno para mostrar el formulario de carga de archivos y otro para mostrar el resultado de una carga exitosa.

uploadfile.jsp muestra un formulario con entrada de archivo. Aparte de esto, hemos agregado un pequeño fragmento de jquery al hacer clic en el botón Agregar. Esto agregará un nuevo componente de entrada de archivo al final del formulario. Esto permite al usuario cargar tantos archivos como desee.

Tenga en cuenta que hemos establecido enctype=”multipart/form-data” de nuestra etiqueta <form> .

Paso 5) Actualizar la configuración de Spring

Agregue debajo del bean al archivo crunchify-servlet.xml , justo encima de la línea <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> .

Paso 6) Resultado de pago

Inicie Tomcat y apunte su navegador a esta URL: http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html y debería ver una pantalla similar a esta.

Crunchify Spring MVC - Ejemplo de carga de archivos múltiples

Después de cargar el archivo, verá un mensaje de éxito como este. Siempre puede embellecer su archivo .jsp de la forma que desee.

Crunchify Spring MVC - Ejemplo de resultado de carga de archivos múltiples

Lista de todos los ejemplos de Spring MVC, ejemplos de Java.