您的位置:首页 > 其它

下载存放在项目目录中的文件

2015-09-10 17:57 274 查看

Description

把 Template放在项目中,在 UI提供一个下载链接供 User下载。

Code

@Log("INFO")
@RequestMapping("/downloadXXXTemplate")
public void downloadXXXTemplate(HttpServletRequest req, HttpServletResponse resp) throws Exception {
String fileName = "XXXTemplate.xlsx".toString();
InputStream inStream = req.getSession().getServletContext().getResourceAsStream("/WEB-INF/classes/XXXTemplate.xlsx");
// InputStream inStream = req.getServletContext().getResourceAsStream("/WEB-INF/classes/ccar14a/IndicatorTemplate.xlsx");
// ServletRequest.getServletContext() method is introduced in Servlet 3.0, not 2.3.
// Need a Servlet 3.0 compatible container such as Tomcat 7, Glassfish 3, etc in Eclipse and set the Target Runtime of your Dynamic Web Project to that container.
resp.reset();
resp.setContentType("bin");
resp.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
byte[] b = new byte[100];
int len;
try {
while ((len = inStream.read(b)) > 0)
resp.getOutputStream().write(b, 0, len);
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}


Reference

How do I open a file located in WEB-INF?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: