passer1991

struts2文件下载

struts2文件下载

以下是注解方式的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.csdn.net/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>
   <href="download.action">123.jpg</a>
  </body>
</html>

 

posted on 2012-11-15 14:09  passer1991  阅读(164)  评论(0编辑  收藏  举报

导航