您的位置:首页 > 编程语言 > Java开发

Struts2文件下载

2016-07-11 09:35 525 查看
在Action中result使用stream类型,因为是下载文件,所以不需要loaction。有下面几个参数
ContentType 文件的类型
inputName 下载文件的输入流,在Action中要有一个getXXX的方法返回输入流,如果配置了abc,那么应该提供一个getAbc方法
contentDisposition 指定下载的文件名,使用attachment出现下载框
bufferSize 下载文件的缓冲大小

<action name="down" class="downAction">
<param name="inputPath">/WEB-INF/upload/100.jpg</param>
<result name="succ" type="stream">
<param name="ContentType">image/jpg</param>
<param name="inputName">inputPath</param>
<param name="contentDisposition">attachment;filename="abc.jpg"</param>
<param name="bufferSize">2000</param>
</result>
</action>


package net.smgui.oa.view.action;

import java.io.InputStream;

import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionSupport;

@Controller
@Scope("prototype")
public class DownAction extends ActionSupport{

private String inputPath;
public InputStream getInputPath() {
return ServletActionContext.getServletContext().getResourceAsStream(inputPath);
}
public void setInputPath(String inputPath) {
System.out.println(inputPath);
this.inputPath = inputPath;
}
@Override
public String execute() throws Exception {
System.out.println("=========");
return "succ";
}
}


JSP

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a href="down.action">点击下载</a>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: