1. 程式人生 > >四 文件上傳&修改刪除客戶&攔截器限制文件上傳

四 文件上傳&修改刪除客戶&攔截器限制文件上傳

下載 def tro 組件 strong java環境 常用 本地文件 comm

什麽是文件上傳:

將本地文件以流的形式上傳到服務器上。

文件上傳技術:

  • (少用)JspSmartUpload:用JSP進行B/S程序開發過程中經常使用的上傳下載組件,使用簡單方便。
  • (常用)FileUpload:Apache Commons下面的一個子項目。實現Java環境下面的文件上傳功能,與常見的SmartUpload齊名。
  • (常用)Servlet3.0:比2.5多了三個功能:文件上傳、註解開發、異步請求(不常用)。
  • (常用)Struts2:底層是FileUpload,對FileUpload進行封裝(Struts2裏面有個fileupload攔截器。)。

文件上傳要素:

  • 表單的提交方式必須是post(get有大小限制)。
  • 表單中需要提供<input type="file" name="upload">,而且這個文件必須有name屬性和值。
  • 表單的enctype屬性必須是multipart/form-data

Struts2進行文件上傳:

利用Struts2裏面的fileupload攔截器。

1 修改頁面:三要素

技術分享圖片

技術分享圖片

2 文件上傳:在Action裏面提供三個屬性以及對應的set方法

三個屬性:

  1. 字符串類型 上傳項名稱+FIleName
  2. 文件類型 上傳項名稱
  3. 字符串類型 上傳項名稱+ContentType

技術分享圖片

3 文件上傳工具類,隨機文件名與目錄分離算法

目錄分離算法:

技術分享圖片

工具類:

技術分享圖片

4 web層為對象設置image屬性,保存圖片地址

技術分享圖片

5 跳轉成功頁面

技術分享圖片

6 效果

技術分享圖片

技術分享圖片

攔截器控制文件上傳:

  1. 設置單個表單文件大小參數,在常量中配置:參考default.properties

  2. 配置攔截器和inputs和視圖

  3. 在頁面添加回顯錯誤信息

1 設置單個表單文件大小參數:參考default.properties

技術分享圖片

技術分享圖片

2 配置攔截器和inputs和視圖

技術分享圖片

3 在頁面添加回顯錯誤信息

技術分享圖片

4 效果

技術分享圖片

四 文件上傳&修改刪除客戶&攔截器限制文件上傳