struts2下载文件
2014-01-07 11:14
295 查看
struts2下载文件
项目用到下载文件,以下是我写的下载文件的源代码,支持文件名称为中文
ACTION:
[java]
view plaincopy
public class DownLoadAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private String filenameInCN;
private String fileNameCN;
private String revision;
@Override
public String execute() throws Exception {
System.out.println(":" + filenameInCN);
return SUCCESS;
}
public String getFilenameInCN() {
return filenameInCN;
}
public void setFilenameInCN(String filenameInCN) {
fileNameCN = filenameInCN;
try {
this.filenameInCN = new String(filenameInCN.getBytes(), "ISO-8859-1");
} catch (Exception e) {
e.printStackTrace();
}
}
public InputStream getDownloadFile() throws Exception {
//找到相关文件返回流
}
public String getRevision() {
return revision;
}
public void setRevision(String revision) {
this.revision = revision;
}
}
配置文件:
[html]
view plaincopy
<action name="downLoad" class="com.action.DownLoadAction">
<result name="success" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="contentDisposition">attachment;filename="${filenameInCN}"</param>
<param name="inputName">downloadFile</param>
</result>
</action>
contentType有多个属性,比如text/plain是文本类型,具体大家可以查看相关文档,application/octet-stream;charset=ISO8859-1是所有的文件的类型,以流的方式读取。
ontentDisposition表示下载文件的处理方式,有inline(默认)和attachment两种。若指定为inline模式,浏览器会先尝试直接打开文件,无法直接打开则弹出保存对话框;attachment模式则直接弹出文件保存对话框。
inputName表示下载文件的来源流。若inputName取值为downloadFile,则在相应的action类中必须有一个返回类型为InputStream的getDownloadFile方法来返回下载的文件入口。
filename="${filenameInCN}",filename是下载文件的名称,可以随便制定。
读取项目中的源文件返回InputStream类型
ServletActionContext.getServletContext().getResourceAsStream("/upload/123.txt");
获取项目的根目录
String path = ServletActionContext.getServletContext().getRealPath("/");
项目用到下载文件,以下是我写的下载文件的源代码,支持文件名称为中文
ACTION:
[java]
view plaincopy
public class DownLoadAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private String filenameInCN;
private String fileNameCN;
private String revision;
@Override
public String execute() throws Exception {
System.out.println(":" + filenameInCN);
return SUCCESS;
}
public String getFilenameInCN() {
return filenameInCN;
}
public void setFilenameInCN(String filenameInCN) {
fileNameCN = filenameInCN;
try {
this.filenameInCN = new String(filenameInCN.getBytes(), "ISO-8859-1");
} catch (Exception e) {
e.printStackTrace();
}
}
public InputStream getDownloadFile() throws Exception {
//找到相关文件返回流
}
public String getRevision() {
return revision;
}
public void setRevision(String revision) {
this.revision = revision;
}
}
配置文件:
[html]
view plaincopy
<action name="downLoad" class="com.action.DownLoadAction">
<result name="success" type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="contentDisposition">attachment;filename="${filenameInCN}"</param>
<param name="inputName">downloadFile</param>
</result>
</action>
contentType有多个属性,比如text/plain是文本类型,具体大家可以查看相关文档,application/octet-stream;charset=ISO8859-1是所有的文件的类型,以流的方式读取。
ontentDisposition表示下载文件的处理方式,有inline(默认)和attachment两种。若指定为inline模式,浏览器会先尝试直接打开文件,无法直接打开则弹出保存对话框;attachment模式则直接弹出文件保存对话框。
inputName表示下载文件的来源流。若inputName取值为downloadFile,则在相应的action类中必须有一个返回类型为InputStream的getDownloadFile方法来返回下载的文件入口。
filename="${filenameInCN}",filename是下载文件的名称,可以随便制定。
读取项目中的源文件返回InputStream类型
ServletActionContext.getServletContext().getResourceAsStream("/upload/123.txt");
获取项目的根目录
String path = ServletActionContext.getServletContext().getRealPath("/");
相关文章推荐
- Struts2文件上传和下载
- Struts2学习笔记之文件的上传与下载
- Struts2 的stream result用法 文件下载
- struts2文件下载出现Can not find a java.io.InputStream with the name的错误
- struts2文件上传下载
- struts2的单文件下载
- Struts2下载文件点取消出现的异常解决
- struts2文件上传(多文件)文件下载
- struts2 之文件下载
- struts2文件下载 <result type="stream">
- Struts2下载文件点击取消的异常处理
- struts2文件下载
- struts2文件下载
- struts2学习笔记之文件下载
- 基于Struts2的单文件下载
- 通过Struts2下载文件, 流式.
- struts2文件下载及 <param name="inputName">inputStream</param>的理解
- Struts2 文件上传与下载
- struts2文件上传下载原理
- struts2实现上传下载(单文件上传与多文件上传的比较)