action
/*
* 文件下载
*/
public String uploadxxz(){
try {
String realPath=ServletActionContext.getServletContext().getRealPath("/upload");
HttpServletResponse response = ServletActionContext.getResponse();
/* String filename = "1557708052737.jpg";
*/ String filename = getRequestData("declaccesso");
// path是指欲下载的文件的路径。
File file = new File(realPath+"\\"+filename);
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(realPath+"\\"+filename ));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
String filenameString = new String(filename.getBytes("utf-8"),
"iso-8859-1");
response.addHeader("Content-Disposition", "attachment;filename="
+ filenameString);
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response
.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
struts2.xml
<action name="decl_download" class="com.snp.jd.controller.DeclarationAction" method="uploadxxz">
<result name="success" >
</result>
</action>
jsp
<a style="color:blue" href="jd/decl_download.action?declaccesso='+value+'"></a>
java代码文件下载
https://blog.csdn.net/xinghuo0007/article/details/72835544