1. 程式人生 > >springMVC3學習 十一 --檔案上傳CommonsMultipartFile

springMVC3學習 十一 --檔案上傳CommonsMultipartFile

使用springMVC提供的CommonsMultipartFile類進行讀取檔案

需要用到上傳檔案的兩個jar包 commons-logging.jar、commons-io-xxx.jar


1、在spring配置檔案中配置檔案上傳解析器

 

<!-- 檔案上傳解析器 -->
<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="10960"></property> </bean>

2、檔案上傳頁面(index.jsp)

 

 

<!-- method必須為post 及enctype屬性-->
<form
action="fileUpload.do" method="post" enctype="multipart/form-data">
<input type="file" name="file"> <input type="submit" value="上傳"> </form>

3、FileController類

 

 

@Controller
public class FileController{
	
	@RequestMapping("/fileUpload.do")
	public String fileUpload
(@RequestParam("file") CommonsMultipartFile file,HttpServletRequest request,HttpServletResponse response)
{ long startTime=System.currentTimeMillis(); //獲取開始時間 if(!file.isEmpty()){ try { //定義輸出流 將檔案儲存在D盤 file.getOriginalFilename()為獲得檔案的名字 FileOutputStream os = new FileOutputStream("D:/"+file.getOriginalFilename()); InputStream in = file.getInputStream(); int b = 0; while((b=in.read())!=-1){ //讀取檔案 os.write(b); } os.flush(); //關閉流 in.close(); os.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } long endTime=System.currentTimeMillis(); //獲取結束時間 System.out.println("上傳檔案共使用時間:"+(endTime-startTime)); return "success"; } }

上傳了一個3.54M的PDF檔案 共使用29132毫秒(以自己計算機實際為準)

 

上面計算了上傳檔案所使用時間,目的為了和下篇另一種上傳方法進行比較 看哪個效率更高

 

測試URL:  http://localhost:8080/spring/


專案原始碼下載地址:http://download.csdn.net/detail/itmyhome/7447419

 

 

 


 

 

 

再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed