您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關SpringMVC中怎么實現多文件上傳功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
1)創建工程并導入JAR包
2)創建多文件選擇頁面
在 WebContent 目錄下創建 JSP 頁面 multiFiles.jsp,在該頁面中使用表單上傳多個文件,具體代碼如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <form action="${pageContext.request.contextPath }/multifile" method="post" enctype="multipart/form-data"> 選擇文件1:<input type="file" name="myfile"><br> 文件描述1:<input type="text" name="description"><br /> 選擇文件2:<input type="file" name="myfile"><br> 文件描述2:<input type="text" name="description"><br /> 選擇文件3:<input type="file" name="myfile"><br> 文件描述3:<input type="text" name="description"><br /> <input type="submit" value="提交"> </form></body></html>
3)創建POJO類
package pers.zhang.pojo;import java.util.List;import org.springframework.web.multipart.MultipartFile;public class MultiFileDomain { private List<String> description; private List<MultipartFile> myfile; public List<String> getDescription() { return description; } public void setDescription(List<String> description) { this.description = description; } public List<MultipartFile> getMyfile() { return myfile; } public void setMyfile(List<MultipartFile> myfile) { this.myfile = myfile; } }
4)創建多文件上傳處理方法
/*** 多文件上傳*/@RequestMapping("/multifile")public String multiFileUpload(@ModelAttribute MultiFileDomain multiFileDomain,HttpServletRequest request) { String realpath = request.getServletContext().getRealPath("uploadfiles"); File targetDir = new File(realpath); if (!targetDir.exists()) { targetDir.mkdirs(); } List<MultipartFile> files = multiFileDomain.getMyFile(); for (int i = 0; i < files.size(); i++) { MultipartFile file = files.get(i); String fileName = file.getOriginalFilename(); File targetFile = new File(realpath, fileName); // 上傳 try { file.transferTo(targetFile); } catch (Exception e) { e.printStackTrace(); } } logger.info("成功"); return "showMulti";}
5)創建成功顯示頁面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body> <table> <tr> <td>詳情</td> <td>文件名</td> </tr> <!-- 同時取兩個數組的元素 --> <c:forEach items="${multiFileDomain.description}" var="description" varStatus="loop"> <tr> <td>${description}</td> <td>${multiFileDomain.myfile[loop.count-1].originalFilename}</td> </tr> </c:forEach> <!-- fileDomain.getMyfile().getOriginalFilename() --> </table></body></html>
以上就是SpringMVC中怎么實現多文件上傳功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。