1 <dependency> 2 <groupId>commons-io</groupId> 3 <artifactId>commons-io</artifactId> 4 <version>2.4</version> 5 </dependency> 6 <dependency> 7 <groupId>commons-fileupload</groupId> 8 <artifactId>commons-fileupload</artifactId> 9 <version>1.3.1</version> 10 </dependency>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h2>上傳多個文件 實例</h2> <form action="/upload/filesUpload" method="post" enctype="multipart/form-data"> <p>選擇文件:<input type="file" name="files"></p> <p>選擇文件:<input type="file" name="files"></p> <p><input type="submit" value="提交"></p> </form> </body> </html>
<!-- 多部分文件上傳 --> <!--id的名字只能爲multipartResolver--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!--配置編碼格式--> <property name="defaultEncoding" value="utf-8"></property> <!--配置文件上傳大小--> <property name="maxUploadSize" value="10485760000"></property> <property name="maxInMemorySize" value="40960"></property> </bean>
@Controller public class FileController { //實現了文件上傳入門案例 @RequestMapping("/file") //MultipartFile 解析器參數 public String file(MultipartFile fileImage) throws IllegalStateException, IOException{ /* * 公共接口MultipartFile 擴展了InputStreamSource 在多部分請求中接收的上載文件的表示。 文件內容存儲在內存中或臨時存儲在磁盤上。 在任何一種狀況下,若是須要,用戶負責將文件內容複製到會話級或持久性存儲。 臨時存儲將在請求處理結束時清除。 */ //建立fileDir對象,"E:/jt-upload"這個內容能夠是文件也能夠是文件夾 File fileDir = new File("E:/jt-upload"); //1.判斷文件夾是否存在 if(!fileDir.exists()){ //不存在的話,建立文件夾 fileDir.mkdirs(); } //fileImage.getOriginalFilename() 獲取文件名字 String fileName = fileImage.getOriginalFilename(); //實現文件的上傳 fileImage.transferTo(new File("E:/jt-upload/"+fileName)); //適用重定向技術 return "redirect;/file.jsp"; //z轉發 // return "forword:/file.jsp"; } }