注意:
如果this.getClass().getClassLoader().getResourceAsStream返回null,可能被项目中拦截器拦截,添加白名单即可
/**
* 本地模板下载
*
* @param fileName 模板全名
* @param response
* /resources/excelTemplate/模板全名 文件路径
*/
public void downloadLocalTemplate(String fileName, HttpServletResponse response) {
response.reset();
response.setContentType("bin");
response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
try {
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("excelTemplate/" + fileName);
OutputStream os = response.getOutputStream();
byte[] b = new byte[2048];
int length;
while ((length = inputStream.read(b)) > 0) {
os.write(b, 0, length);
}
os.close();
inputStream.close();
} catch (FileNotFoundException e) {
log.error(e.getMessage(), e);
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}