1. 程式人生 > >struts2框架之文件上傳(參考第三天學習筆記)

struts2框架之文件上傳(參考第三天學習筆記)

input 允許 jakarta ges too 文件的 ESS dir 參數

上傳

1. 上傳對表單的要求
* method=post
* enctype=multipart/form-data

2. 上傳對servlet要求
* getParameter()不能再使用!

----------------------------------

Struts使用名為fileupload的攔截器完成上傳。

1. 攔截器首先查看表單是否為multipart/form-data
2. 如果為multipart/form-data,那麽攔截器會把file字段的數據封裝到Action的三個屬性中

-----------------------------------

一對三

* <input type="file" name="myupload"/> 文件表單項,文件字段。
* 對應Action的三個屬性:
String myuploadFileName; 上傳文件的名稱
String myuploadContentType; 上傳文件的MIME類型
File myupload; 上傳文件的數據

-----------------------------------

上傳配置

6個配置項,其中有3個是常量,還有3個是攔截器參數

1. 常量
commons-fileupload
用來指定上傳組件
struts.multipart.parser=指定底層的上傳組件
可選值:jakarta(它是默認值,它表示commons-fileupload)、cos(近幾百看沒有更新過)、pell(市場使用比較少)
struts.multipart.saveDir=指定臨時文件目錄
struts.multipart.maxSize=指定整個請求的大小,單位為字節,默認值為2M

2. 攔截器參數
maximumSize=單個文件的大小限制,單位為字節
allowedTypes=允許上傳的MIME類型
allowedExtensions=允許上傳的文件擴展名

-----------------------------------

國際化錯誤信息

struts.messages.error.uploading=上傳出錯
struts.messages.error.file.too.large=單個文件超出限制
struts.messages.error.content.type.not.allowed=非法的MIME類型
struts.messages.error.file.extension.not.allowed=非法擴展名
struts.messages.upload.error.SizeLimitExceededException=整個請求大小超出限制

-----------------------------------

struts2框架之文件上傳(參考第三天學習筆記)