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 href="http://struts.apache.org/dtds/struts- 2.0.dtd">
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>