在struts2中,通过结果类型stream来支持文件下载功能.当指定stream结果类型时,需要设置一个inputName作为输入流,这个输入流是被下载文件的入口.
(1)编写实现文件下载的类DownloadAction
public class DownloadAction extends ActionSupport{ private static final long serialVersionUID = 1L; private String inputPath; public String getInputPath() { return inputPath; } public void setInputPath(String inputPath) { this.inputPath = inputPath; } public InputStream getTargetFile(){ return ServletActionContext.getServletContext().getResourceAsStream(inputPath); } }
在上述Action中,getTargetFile()方法返回一个InputStream输入流,次输入流返回的是下载目标文件的入口.该方法名是getTargetFile,则stream类型的结果映射中inputName的参数值为targetFile
(2)配置struts.xml文件
contentType:指定下载文件的文件类型
inputName:指定下载文件的入口输入流
contentDisposition:指定下载文件的文件名
bufferSize:指定文件的缓冲大小
<action name="download" class="action.DownloadAction"> <param name="inputPath">\upload\report.rar</param> <result name="success" type="stream"> <param name="contentType">application/rar</param> <param name="inputName">targetFile</param> <param name="contentDisopsition">filename="report.rar"</param> <param name="bufferSize">4096</param> </result> </action>
相关推荐
struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单struts2文件下载极其简单
struts2官方文档
struts2文件下载,实现多文件上传下载,使用struts的file标签实现
使用struts2实现文件下载功能,可以直接运行!
在struts2基础上实现的包括单文件、多文件的上传及下载
struts2文件下载代码demo,一看就会。
http://blog.csdn.net/johnjobs/article/details/8076832博文中附件的下载链接
JavaEE Struts2文件下载
这是一个doc文档,文档中写明了在一个下载的action类中要执行的方法,struts.xml中的配置项,这个文档在于为大家了解下载的流程,建议多写几遍;多改改其中的参数,才能明白怎么用
参考博文:http://blog.csdn.net/u011638419/article/details/41719287
本程序是Struts2文件下载程序实现的文件下载。本程序总共有两种实现方式实现文件下载。动态下载和静态下载。
struts2文件下载(实例)解析
struts2 文件下载需要的架包 commons-fileupload-1.2 commons-io-1.3.2
程序进过本人亲测,附件中含SQL,用的是MySQL数据库,实现了带进度条的多文件上传,并提供下载功能,解压后可直接导入Eclipse,希望对你有所帮助。
MVC Struts2框架搭建,Jquery Ajax异步数据交互,内涵需要的jar包及ppt讲解