struts2 实现文件下载
- <package name="default" extends="struts-default" >
- <!-- 在这里添加Action定义 -->
- <!-- 简单文件下载 -->
- <action name="download" class="example.FileDownloadAction">
- <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>
- <!-- 文件下载,支持中文附件名 -->
- <action name="download2" class="example.FileDownloadAction2">
- <!-- 初始文件名 -->
- <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 name="download3" class="example.FileDownloadAction3">
- <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>
action类中,要实现一个InputStream inputStream = new FileInputStream(file);