Struts文件下载详解
2015-12-19 15:40
375 查看
在做项目中上传下载肯定是少不了的,本博文对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官方文档
相关文章推荐
- 【Ubuntu】命令行下载安装JDK
- Struts获取jsp页面遍历出来的数据id
- java lock
- android开发之Eclipse升级SDK及ADT
- java 与c#比较
- Java基础--集合框架Conllection(LinkedList、ArrayList)
- Java:类与继承
- spring mvc form表单提交乱码
- Mybatis3源码分析(08)-加载Configuration-使用到的设计模式
- 关于MyEclipse下的项目无法使用BASE64Encoder问题的解决办法
- Spring AOP
- java运行环境配置
- Struts2文件上传,以及上传拦截异常国际化处理
- JavaIDE__MyEclipse中SVN的使用方法
- 我的springmvc简单版
- java.lang.RuntimeException: java.lang.NoSuchMethodException:
- 【Java EE 学习 77 上】【数据采集系统第九天】【通过AOP实现日志管理】【通过Spring石英调度动态生成日志表】【日志分表和查询】
- Eclipse注释模板设置详解
- Eclipse添加注释简介
- java设计模式整体结构