如何使用 Spring MVC 将多个文件上传到特定位置? 使用 Java 代码完成教程

已发表: 2013-06-22

这是另一个完整的 Spring MVC 教程,它接受上传表单上的文件并在“提交”事件时将其复制到特定文件夹。 像往常一样,我们dependency于 Hello World Spring MVC Example。

因此,这些是我们需要在此示例中执行的添加/更改:

  • 新文件:CrunchifyFileUploadController.java
  • 新文件:CrunchifyFileUpload.java
  • 新文件:uploadfile.jsp
  • 新文件:uploadfilesuccess.jsp
  • 修改文件:crunchify-servlet.xml
  • 2 个新的 jar 文件: commons-io-2.4.jarcommons-fileupload-1.3.jar

有以下任何问题吗? 那么你来对地方了。

  • Java 多文件上传示例
  • 上传多个文件或文件夹

这是最终的项目结构,因此您将对添加文件的位置有所了解。

Crunchify 的 Spring MVC 文件上传教程

现在让我们开始吧:

步骤 1) 先决条件:

https://crunchify.com/hello-world-example-spring-mvc-3-2-1/(在Tomcat上部署这个项目成功)

Maven依赖:

将以下新依赖项添加到项目的pom.xml文件中。

Step-2) SpringController

创建一个基于 Spring 3 MVC 的控制器来处理文件上传。 这个控制器有两种方法:

  1. crunchifyDisplayForm – 它只是将请求转发到 pageuploadfile.jsp
  2. crunchifySave – 使用@ModelAttribute注释获取表单并从中获取文件内容。 它创建正在上传的文件的文件名列表,并将此列表传递给成功页面。

Step-3) 模型——表单对象

创建一个 Java bean,它充当我们 Spring 应用程序的模型/表单对象。 这个 bean 包含一个org.springframework.web.multipart.MultipartFile对象的List 。 Spring 框架提供了一个有用的 MultipartFile 类,可用于获取上传文件的文件内容。 除了其内容,MultipartFile 对象还为您提供其他有用的信息,例如文件名、文件大小等。

步骤 4) JSP 视图

现在为这个应用程序创建视图页面。 我们将需要两个 JSP,一个用于显示文件上传表单,另一个用于显示成功上传的结果。

uploadfile.jsp显示带有文件输入的表单。 除此之外,我们还添加了单击添加按钮的小 jquery 片段。 这将在表单末尾添加一个新的文件输入组件。 这允许用户上传任意数量的文件。

请注意,我们设置了<form>标签的enctype=”multipart/form-data”属性。

Step-5) 更新 Spring 配置

将下面的 bean 添加到crunchify-servlet.xml文件中,就在<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">行的上方。

Step-6) 结账结果

启动 tomcat 并将浏览器指向此 URL:http://localhost:8080/CrunchifySpringMVC3.2.1/upload.html,您应该会看到与此类似的屏幕。

Crunchify Spring MVC - 多文件上传示例

文件上传后,您将看到这样的成功消息。 您始终可以按照您想要的方式美化您的 .jsp 文件。

Crunchify Spring MVC - 多文件上传示例结果

所有 Spring MVC 示例、Java 示例的列表。