Struts文件下载详解
2016-05-08 00:00
621 查看
在做项目中上传下载肯定是少不了的,本博文对struts2的下载进行解释并附上部分代码
1、action类
public class FileDownLoadAction extends ActionSupport{ private String filename;//下载文件的名称 @Override public String execute() throws Exception { return SUCCESS; } //下载源 public InputStream getInputStream() throws IOException{ String path =ServletActionContext.getServletContext().getRealPath(filename);//获取文件路径 //System.out.println("path="+path); File file = new File(path); return FileUtils.openInputStream(file); } //下载文件名称 public String getDownloadFileName() throws Exception{ String downloadFileName=""; String []filenames=filename.split("/"); //System.out.println(filenames[filenames.length-1]); downloadFileName=URLEncoder.encode(filenames[filenames.length-1], "UTF-8");//解决下载中文命名文件乱码问题 return downloadFileName; } ///////////////////////////////////////////字段封装////////////// public String getFilename() { return filename; } public void setFilename(String filename) { this.filename = filename; } }
2、struts2.xml配置
<action name="download" class="com.zzuli.student.action.FileDownLoadAction"> <!--以流的方式返回 --> <result name="success" type="stream"> <!--文件流 --> <param name="contentType">application/octet-stream</param> <!--下载源 --> <param name="inputName">InputStream</param> <!--以附件方式下载 downloadFileName对应Action类getDownloadFileName() --> <param name="contentDisposition">attachment;filename="${downloadFileName}"</param> <!--缓冲流大小 --> <param name="bufferSize">8192</param> </result>
3、jsp下载链接页面
<td> <a href="download.action?filename=${documentUrl}">点击下载</a> </td>
具体详解请查看Struts官方文档
相关文章推荐
- struts2入门(登陆实例)
- struts2文件上传,文件类型 allowedTypes对应
- 安卓异常java.lang.IllegalStateException: Content has been consumed
- Java 语言中 List、Set 和 Map 的区别
- javaWeb中文乱码问题
- Struts2注解开发
- 万能的Entry,两个变量的Model/JavaBean再也不用写了!
- springmvc 拦截器、国际化、验证
- SpringJUnit4(Spring,SpringMvc)
- volatile与可见性
- 跟着远叔学Spring系列(一)——Spring的由来及作用
- 20145214 《Java程序设计》第10周学习总结
- struts2(六)拦截器机制
- 强引用,弱引用,4种Java引用浅解(涉及jvm垃圾回收)
- springMVC之配置
- 20145212 《Java程序设计》第10周学习总结
- 【Java故事系列】Java虚拟机的10年
- spring classpath
- 20145227《Java程序设计》第10周学习总结
- java Web 学习笔记一