以下是注解方式的struts2文件下载
@ResultPath("/")
@Results(value={@Result(name="success", type="stream",params={"contentType","image/jpg","inputName","targetFile","contentDisposition","attachment;filename=123.jpg","bufferSize","4096"})})
public class DownloadAction extends ActionSupport {
private InputStream targetFile;
public InputStream getTargetFile() {
// 123.jpg文件必须存在,特别注意
// 否则会抛异常 Can not find a java.io.InputStream with the name [targetFile]
// 上边异常的解决参见 http://blog.youkuaiyun.com/wolma/article/details/5351638
return ServletActionContext.getServletContext().getResourceAsStream("/upload/123.jpg");
}
public void setTargetFile(InputStream targetFile) {
this.targetFile = targetFile;
}
}
@Results(value={@Result(name="success", type="stream",params={"contentType","image/jpg","inputName","targetFile","contentDisposition","attachment;filename=123.jpg","bufferSize","4096"})})
public class DownloadAction extends ActionSupport {
private InputStream targetFile;
public InputStream getTargetFile() {
// 123.jpg文件必须存在,特别注意
// 否则会抛异常 Can not find a java.io.InputStream with the name [targetFile]
// 上边异常的解决参见 http://blog.youkuaiyun.com/wolma/article/details/5351638
return ServletActionContext.getServletContext().getResourceAsStream("/upload/123.jpg");
}
public void setTargetFile(InputStream targetFile) {
this.targetFile = targetFile;
}
}
index.jsp
<%
@ page language
=
"
java
"
import
=
"
java.util.*
"
pageEncoding
=
"
UTF-8
"
%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + " :// " + request.getServerName() + " : " + request.getServerPort() + path + " / " ;
%>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
< head >
< base href ="<%=basePath%>" >
< title >My JSP 'index.jsp' starting page </ title >
< meta http-equiv ="pragma" content ="no-cache" >
< meta http-equiv ="cache-control" content ="no-cache" >
< meta http-equiv ="expires" content ="0" >
< meta http-equiv ="keywords" content ="keyword1,keyword2,keyword3" >
< meta http-equiv ="description" content ="This is my page" >
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</ head >
< body >
< a href ="download.action" >123.jpg </ a >
</ body >
</ html >
<%
String path = request.getContextPath();
String basePath = request.getScheme() + " :// " + request.getServerName() + " : " + request.getServerPort() + path + " / " ;
%>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
< head >
< base href ="<%=basePath%>" >
< title >My JSP 'index.jsp' starting page </ title >
< meta http-equiv ="pragma" content ="no-cache" >
< meta http-equiv ="cache-control" content ="no-cache" >
< meta http-equiv ="expires" content ="0" >
< meta http-equiv ="keywords" content ="keyword1,keyword2,keyword3" >
< meta http-equiv ="description" content ="This is my page" >
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</ head >
< body >
< a href ="download.action" >123.jpg </ a >
</ body >
</ html >