如何使用 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 示例的列表。