标签:
struts2文件下载需要action提供一个返回InputStream流的方法,代表了被下载文件的入口。
一:写action类
DownloadAction.java
package Action; import com.opensymphony.xwork2.ActionSupport; import java.io.FileInputStream; import java.io.InputStream; /** * Created by cxspace on 16-7-12. */ public class DownloadAction extends ActionSupport{ //可以在配置文件中动态的指定该属性值,要下载文件的路径 private String inputPath;
public String getInputPath() { return inputPath; } //依赖注入改属性值的方法 public void setInputPath(String inputPath) { this.inputPath = inputPath; }
/×
定义一个返回InputStream的方法,改方法將作为被下载文件的入口,且需要配置stream类型结果指定的inputName参数
inputName参数值就是方法去掉get前缀、首字母小写的字符串
×/ public InputStream getTargetFile () throws Exception { return new FileInputStream(inputPath); } }
二:配置action
配置期望能键下载,关键是配置一个类型为stream的结果
结果中需要指定的四个关键属性
contentType:指定被下载文件的文件类型
inputName:指定被下载文件的入口输入流
contentDispostion:指定下载文件的文件名
bufferSize:指定下载文件时的缓冲大小
package Action;
import com.opensymphony.xwork2.ActionSupport;
import java.io.FileInputStream;
import java.io.InputStream;
/**
* Created by cxspace on 16-7-12.
*/
public class DownloadAction extends ActionSupport{
//可以在配置文件中动态的指定该属性值
private String inputPath;
public String getInputPath() {
return inputPath;
}
//依赖注入改属性值的方法
public void setInputPath(String inputPath) {
this.inputPath = inputPath;
}
public InputStream getTargetFile () throws Exception {
return new FileInputStream(inputPath);
}
}
标签:
原文地址:http://www.cnblogs.com/cxspace/p/5665262.html