文件上傳

1.     文件上傳理解

Ø  項目中經常使用文件上傳這一功能,比如說要求用戶註冊時上傳自己的照片,論壇發貼時可以上傳附件,發送郵件時可以上傳簡歷。。。。。都要用到文件上傳這一功能

Ø  上傳的文件可以是任何類型,圖片,文本文件,html文件

Ø  文件上傳是指將文件從客戶端(用戶機器上)上傳到服務器端(如localhost)

​2.     文件上傳步驟

說明:java裏的文件上傳已被apache國際開源組織封裝好,其項目名爲FileUpload。所以我們沒有必要再“發明歷史的輪子”,直接使用就可以達到上傳文件的目的。

Ø 下載commons-fileupload-1.2.2.jar包,打開commons-fileupload幫助文檔,在userguid下可以看到“FileUpload depends on Commons IO”,所以還要下載commons-io-2.3.jar

Ø 將以上兩個jar包導入到工程當中

Ø 創建一個帶有文件上傳的JSP頁面,即有類型的控件

確認表單提交方式爲post,並添加enctype="multipart/form-data"

3.​Servlet中處理的具體步驟:

 

  • 具體步驟: 
  •  1)獲得磁盤文件條目工廠 DiskFileItemFactory 要導包

 

  •  2) 利用 request 獲取 真實路徑 ,供臨時文件存儲,和 最終文件存儲 ,這兩個存儲位置可不同,也可相同

 

  •  3)對 DiskFileItemFactory 對象設置一些 屬性

 

  •  4)高水平的API文件上傳處理  
  • ServletFileUpload upload = new ServletFileUpload(factory);

 

  •  目的是調用 parseRequest(request)方法  獲得 FileItem 集合list ,  
  •  5)在 FileItem 對象中 獲取信息,   遍歷, 判斷 表單提交過來的信息 是否是 普通文本信息  另做處理

 

  •  6)

 

  •  第一種. 用第三方 提供的  item.write( new File(path,filename) );  直接寫到磁盤上

 

  •  第二種. 手動處理 

 

提供一個鏈接:http://blog.csdn.net/hzc543806053/article/details/7524491 

​ Servlet實現文件上傳,可多文件上傳,博主講的很清楚,大家可以參考!

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章