資源簡(jiǎn)介
本源碼提供了三種下載模式:1 超鏈接下載。2 手寫(xiě)流模式下載。 3 用Struts2自帶的流模式下載(有圖有真相哦!)。
歡迎交流批評(píng),吐槽~

代碼片段和文件信息
package?com.xp.action;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.OutputStream;
import?java.io.UnsupportedEncodingException;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?org.apache.struts2.ServletActionContext;
public?class?DownLoadAction?{
private?String?fileName;//從前臺(tái)jsp頁(yè)面動(dòng)態(tài)傳遞過(guò)來(lái)的文件名。
public?String?downLoad()?throws?IOException?{
HttpServletRequest?request=ServletActionContext.getRequest();
String?path=request.getRealPath(“/download“);
File?file=new?File(pathfileName);
HttpServletResponse?response=ServletActionContext.getResponse();
response.setCharacterEncoding(“utf-8“);
response.setContentLength((int)file.length());//文件長(zhǎng)度默認(rèn)為long,這里暫時(shí)設(shè)為轉(zhuǎn)換為int
response.setContentType(“application/octet-stream“);
response.setHeader(“Content-Disposition“?“attachment;filename=“+fileName);
InputStream?is=?new?FileInputStream(file);
OutputStream?os=response.getOutputStream();
int?len=0;
byte[]buffer=new?byte[200];
while?((len=is.read(buffer))!=-1)?{
os.write(buffer?0?len);
}
if(os!=null){
os.close();
}
if(is!=null){
is.close();
}
response.flushBuffer();
return?null;
}
/**
?*?@return?the?fileName
?*/
public?String?getFileName()?{
return?fileName;
}
/**
?*?@param?fileName?the?fileName?to?set
?*?@throws?UnsupportedEncodingException?
?*/
public?void?setFileName(String?fileName)?{
this.fileName?=?fileName;
}
}
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????1444??2017-10-26?12:20??13Struts2DownLoad\.classpath
?????文件????????325??2017-10-29?20:48??13Struts2DownLoad\.myme
?????文件???????1235??2017-10-28?18:17??13Struts2DownLoad\.project
?????文件???????1040??2017-10-28?18:46??13Struts2DownLoad\.settings\com.genuitec.eclipse.j2eedt.core.prefs
?????文件????????330??2017-10-24?00:26??13Struts2DownLoad\.settings\org.eclipse.jdt.core.prefs
?????文件???????1660??2017-10-29?11:00??13Struts2DownLoad\src\com\xp\action\DownLoadAction.java
?????文件???????1229??2017-10-28?21:27??13Struts2DownLoad\src\com\xp\action\StreamDownLoadAction.java
?????文件????????123??2017-10-28?14:56??13Struts2DownLoad\src\struts.properties
?????文件???????1021??2017-10-28?21:53??13Struts2DownLoad\src\struts.xm
?????文件?????705780??2017-10-28?18:21??13Struts2DownLoad\WebRoot\download\java1.pdf
?????文件?????586671??2017-10-28?18:21??13Struts2DownLoad\WebRoot\download\java2.pdf
?????文件????????774??2017-10-28?21:47??13Struts2DownLoad\WebRoot\ignored.jsp
?????文件???????1716??2017-10-28?21:36??13Struts2DownLoad\WebRoot\index.jsp
?????文件?????284394??2017-10-28?17:12??13Struts2DownLoad\WebRoot\js\jquery-1.11.3.js
?????文件?????????39??2017-10-24?00:26??13Struts2DownLoad\WebRoot\me
?????文件???????2284??2017-10-29?11:00??13Struts2DownLoad\WebRoot\WEB-INF\classes\com\xp\action\DownLoadAction.class
?????文件???????1328??2017-10-29?10:51??13Struts2DownLoad\WebRoot\WEB-INF\classes\com\xp\action\StreamDownLoadAction.class
?????文件????????123??2017-10-28?14:56??13Struts2DownLoad\WebRoot\WEB-INF\classes\struts.properties
?????文件???????1021??2017-10-28?21:53??13Struts2DownLoad\WebRoot\WEB-INF\classes\struts.xm
?????文件??????43578??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\asm-3.3.jar
?????文件??????38275??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\asm-commons-3.3.jar
?????文件??????21503??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\asm-tree-3.3.jar
?????文件??????59590??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\commons-fileupload-1.2.2.jar
?????文件?????159509??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\commons-io-2.0.1.jar
?????文件?????315805??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\commons-lang3-3.1.jar
?????文件?????931168??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\freemarker-2.3.19.jar
?????文件?????614203??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\javassist-3.11.0.GA.jar
?????文件?????802721??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\mysql-connector-java-5.1.20-bin.jar
?????文件?????227807??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\ognl-3.0.5.jar
?????文件?????783238??2017-10-26?12:20??13Struts2DownLoad\WebRoot\WEB-INF\lib\struts2-core-2.3.4.jar
............此處省略24個(gè)文件信息
評(píng)論
共有 條評(píng)論