Como fazer upload de vários arquivos para um local específico usando o Spring MVC? Tutorial completo com código Java

Publicados: 2013-06-22

Este é outro tutorial completo do Spring MVC que aceita arquivo no formulário Upload e o copia para uma pasta específica no evento “Submit”. Como de costume, temos uma dependency do Hello World Spring MVC Example.

Então, estas são as adições/alterações que precisamos realizar neste exemplo:

  • Novo arquivo: CrunchifyFileUploadController.java
  • Novo arquivo: CrunchifyFileUpload.java
  • Novo arquivo: uploadfile.jsp
  • Novo arquivo: uploadfilesuccess.jsp
  • Arquivo modificado: crunchify-servlet.xml
  • 2 novos arquivos jar: commons-io-2.4.jar e commons-fileupload-1.3.jar

Tem alguma pergunta abaixo? Então você está no lugar certo.

  • Exemplo de upload de vários arquivos Java
  • Carregar vários arquivos ou pastas

Aqui está uma estrutura final do projeto para que você tenha uma ideia de onde adicionar arquivos.

Tutorial de upload de arquivo Spring MVC por Crunchify

Agora vamos começar:

Passo-1) Pré-requisito:

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/ (Implante este projeto com sucesso no Tomcat)

Dependências do Maven:

Adicione abaixo novas dependências ao arquivo pom.xml do seu projeto.

Etapa 2) SpringController

Crie um controlador baseado em Spring 3 MVC que lida com o upload de arquivos. Existem dois métodos neste controlador:

  1. crunchifyDisplayForm – Ele simplesmente encaminha a solicitação para o pageuploadfile.jsp
  2. crunchifySave – Busca o formulário usando a anotação @ModelAttribute e obtém o conteúdo do arquivo dele. Ele cria uma lista de nomes de arquivos de arquivos sendo carregados e passa essa lista para a página de sucesso.

Etapa 3) Modelo - Objeto de formulário

Crie um bean Java que atue como objeto Model/Form para nosso aplicativo Spring. Este bean contém uma List de objetos org.springframework.web.multipart.MultipartFile . O framework Spring fornece uma classe útil MultipartFile que pode ser usada para buscar o conteúdo do arquivo carregado. Além de seu conteúdo, o objeto MultipartFile também fornece outras informações úteis, como nome do arquivo, tamanho do arquivo etc.

Etapa-4) Visualizações JSP

Agora crie as páginas de visualização para este aplicativo. Precisaremos de dois JSPs, um para exibir o formulário de upload do arquivo e outro para mostrar o resultado do upload bem-sucedido.

O uploadfile.jsp exibe um formulário com entrada de arquivo. Além disso, adicionamos um pequeno trecho de jquery ao clicar no botão Adicionar. Isso adicionará um novo componente de entrada de arquivo no final do formulário. Isso permite que o usuário carregue quantos arquivos quiser.

Observe que definimos o enctype=”multipart/form-data” de nossa tag <form> .

Etapa 5) Atualizar a configuração do Spring

Adicione o bean abaixo ao arquivo crunchify-servlet.xml , logo acima da linha <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"> .

Etapa-6) Resultado do Checkout

Inicie o tomcat e aponte seu navegador para esta URL: http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html e você deverá ver uma tela semelhante a esta.

Crunchify Spring MVC - Exemplo de upload de vários arquivos

Após o upload do arquivo, você verá uma mensagem de sucesso como esta. Você sempre pode embelezar seu arquivo .jsp da maneira que desejar.

Crunchify Spring MVC - Resultado de exemplo de upload de vários arquivos

Lista de todos os exemplos de Spring MVC, exemplos de Java.