action类:
package com.ly.action;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
public class FileDown {
private InputStream inputStream;//输入流
private String fileName;//文件名
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String down(){
//设置下载路径
fileName = "11.png";//已经存在的文件
String path = "d:\\a\\" + fileName;
try {
inputStream = new FileInputStream(path);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "down";
}
}
struts.xml配置文件
<action name="down" class="com.ly.action.FileDown" method="down">
<result name="down" type="stream">
<param name="inputName">inputStream</param>
<param name="contentType">application/octet-stream</param>
<param name="contentDisposition">attachment;
filename="${fileName}"
</param>
</result>
</action>
**1. result type 为stream
2. param参数inputName,下载文件来源流,对应action中某个类型的
inputStream的属性名,该属性必须有getInputStream()方法
3. contentType 内容类型,和互联网中MIME表中一致
4. contentDisposition 文件下载的处理方式,包括内联(inline)和
(attachment),inline浏览器试图直接打开附件, attachment打开对话框。**