Struts2下載文件實現的說明
contentType
內容類型,和互聯網MIME標準中的規定類型一致,例如text/plain代表純文本,text/xml表示XML,image/gif代表GIF圖片,image/jpeg代表JPG圖片
inputName
下載文件的來源流,對應著action類中某個類型為Inputstream的屬性名,例如取值為inputStream的屬性需要編寫getInputStream()方法
contentDisposition
文件下載的處理方式,包括內聯(inline)和附件(attachment)兩種方式,而附件方式會彈出文件保存對話框,否則瀏覽器會嘗試直接顯示文件。取值為:
attachment;filename="struts2.txt",表示文件下載的時候保存的名字應為struts2.txt。如果直接寫filename="struts2.txt",那么默認情況是代表inline,瀏覽器會嘗試自動打開它,等價于這樣的寫法:inline; filename="struts2.txt"
bufferSize
下載緩沖區的大小
Struts2下載實現源代碼
< ?xml version="1.0" encoding="UTF-8" ?> "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "< A > http://struts.apache.org/dtds/struts-2.0.dtd< /A>"> < PACKAGE name="default" extends="struts-default"> < !-- 在這里添加Action定義 -->
< !-- 簡單文件下載 --> < ACTION class=example.FileDownloadAction name="download"> < RESULT name="success" type="stream"> < PARAM name="contentType">text/plain< /PARAM> < PARAM name="inputName">inputStream< /PARAM> < PARAM name="contentDisposition">attachment;filename="struts2中文.txt"< /PARAM> < PARAM name="bufferSize">4096< /PARAM> < /RESULT> < /ACTION> < BR> < !-- 文件下載,支持中文附件名 --> < ACTION class=example.FileDownloadAction2 name="download2"> < !-- 初始文件名 --> < PARAM name="fileName">Struts中文附件.txt< /PARAM> < RESULT name="success" type="stream"> < PARAM name="contentType">text/plain< /PARAM> < PARAM name="inputName">inputStream< /PARAM> < !-- 使用經過轉碼的文件名作為下載文件名,downloadFileName屬性 對應action類中的方法 getDownloadFileName() --> < PARAM name="contentDisposition">attachment;filename="${downloadFileName}"< /PARAM> < PARAM name="bufferSize">4096< /PARAM> < /RESULT> < /ACTION> < !-- 下載現有文件 --> < ACTION class=example.FileDownloadAction3 name="download3"> < PARAM name="inputPath">/download/系統說明.doc< /PARAM> < !-- 初始文件名 --> < PARAM name="fileName">系統說明.doc< /PARAM> < RESULT name="success" type="stream"> < PARAM name="contentType">application/octet-stream;charset=ISO8859-1< /PARAM> < PARAM name="inputName">inputStream< /PARAM> < !-- 使用經過轉碼的文件名作為下載文件名,downloadFileName屬性 對應action類中的方法 getDownloadFileName() --> < PARAM name="contentDisposition">attachment;filename="${downloadFileName}"< /PARAM> < PARAM name="bufferSize">4096< /PARAM> < /RESULT> < /ACTION> < /PACKAGE>
|
【編輯推薦】
- 在Eclipse中開發struts應用程序
- 手把手教你在Eclipse中配置開發Struts
- Eclipse下開發struts完整解決亂碼問題
- Struts相關背景介紹
- 使用Easy Struts for Eclipse開發Struts