文件下载
/20171102_chr_download/src/nuc/sw/action/DownloadAction.java
package nuc.sw.action;
import com.opensymphony.xwork2.ActionSupport;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
public class DownloadAction extends ActionSupport
{
private String inputPath;
private String contentType;
private String downFileName;
public String getContentType () {
return contentType;
}
public String getDownFileName () {
return downFileName;
}
public String getInputPath () {
return inputPath;
}
public void setContentType (String contentType) {
this .contentType = contentType;
}
public void setDownFileName (String downFileName) throws UnsupportedEncodingException {
this .downFileName = new String(downFileName.getBytes("iso8859-1" ),"utf-8" );
}
public void setInputPath (String inputPath) throws UnsupportedEncodingException {
this .inputPath = new String(inputPath.getBytes("iso8859-1" ),"utf-8" );
}
public InputStream getTargetFile () {
InputStream is = null ;
try {
is = new FileInputStream(inputPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
return is;
}
}
/20171102_chr_download/src/struts.xml
<struts >
<package extends ="struts-default" namespace ="/" name ="download" >
<action name ="download" class ="nuc.sw.action.DownloadAction" >
<result type ="stream" >
<param name ="contentType" > ${contentType}</param >
<param name ="inputName" > targetFile</param >
<param name ="contentDisposition" > attachment;filename${downFileName}</param >
</result >
</action >
</package >
</struts >
/20171102_chr_download/WebContent/download.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
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=UTF-8" >
<title > 下载页</title >
</head >
<body >
<a href ="download?inputPath=f:/123.txt&contentType=text/plain&downFileName=123.txt" > 下载文件</a >
</body >
</html >