添加文件上傳的選擇項
1. 客戶端三個注意事項
* method="post"
* enctype="multipart/form-data"
* <input type="file" name="myfile">
2. Struts2框架的使用攔截器完成了文件上傳,並且底層使用也是FileUpload開源的組件。
* 提供 FileUpload 攔截器,用於解析 multipart/form-data 編碼格式請求,解析上傳文件的內容
* fileUpload攔截器 默認在 defaultStack 棧中, 默認會執行的
* 在Action中編寫文件上傳,需要定義三個屬性
> 文件類型File ,屬性名與表單中file的name屬性名一致.
> 字符串類型String , 屬性名:前段是name屬性名一致 + ContentType;
> 字符串類型String , 屬性名:前段是name屬性名一致+FileName;
> 最後需要爲上述的三個屬性提供set方法。
> 可以通過FileUtils提供 copyFile 進行文件複製,將上傳文件 保存到服務器端
3. 文件上傳中存在的問題
* 先配置input邏輯視圖
* 在頁面中顯示錯誤信息
* 文件上傳的總大小默認值是2M,如果超過了2M,程序會報出異常。可以使用<s:actionError>來查看具體信息!
> 解決總大小的設置,找到常量:
* struts.multipart.parser=jakarta-- 默認文件上傳解析器,就是FileUpload組件
* struts.multipart.saveDir=-- 文件上傳的臨時文件存儲目錄
* struts.multipart.maxSize=2097152-- 文件上傳的最大值(總大小),默認是2M
> 可以在struts.xml中設置常量,修改文件上傳的默認總大小!!!
* <constant name="struts.multipart.maxSize" value="5000000"></constant>
4. 還可以通過配置攔截器來設置文件上傳的一些屬性
* 先在<action>標籤中引入文件上傳的攔截器
<interceptor-ref name="defaultStack">
<!-- 設置單個上傳文件的大小 -->
<param name="fileUpload.maximumSize">2097152</param>
<!-- 設置擴展名 -->
<param name="fileUpload.allowedExtensions">.txt</param>
</interceptor-ref>
[Struts2]Struts2的文件上傳
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Struts 2 註解實現Action返回JSON數據
Cloud-Future
2018-08-27 19:44:39
Struts 2 Hello World
Cloud-Future
2018-08-27 19:44:37
使用 Struts 2標籤
Cloud-Future
2018-08-27 19:44:37
Locate 對 Struts2 Calendar Date 時間 賦值 的影響
ICNF
2018-08-27 19:37:10
struts.xml配置文件中result的語法:<result name="" type="">xxxxx</result>
炒冰
2018-08-27 19:35:31
Struts2學習
qq_1597310335
2018-08-27 19:27:18
OGNL和Struts2中的值棧
qq_1597310335
2018-08-27 19:27:18
Struts2的頁面參數獲取
qq_1597310335
2018-08-27 19:27:18
簡單的Struts2登陸
shenshuibomb
2018-08-27 18:06:51
struts2自主學習之DTD文件結構及各配置文件詳解
Leo_libin
2018-08-27 18:05:13
struts2基礎學習收錄重點之OGNL動態配置result , 使用註解配置action,實現java國際化
Leo_libin
2018-08-27 18:05:13
struts2自主學習之配置國際化資源文件,傳統異常處理方式, 攔截器,實現action 控制類,訪問servletAPI,使用攔截器註解
Leo_libin
2018-08-27 18:05:01
本人Struts2基礎學習收錄重點
Leo_libin
2018-08-27 18:05:00
在JS代碼中獲取Struts2中的返回值或者參數
iteye_6674
2018-08-27 17:44:18
Struts2第四篇【請求數據自動封裝、Action得到域對象】
A3384877125
2018-08-27 17:34:28