1、提供在controller层,大家可以根据项目需要,抽取到service层。
代码语言:javascript复制/**
* 模板下载
* @author liuy
* @since 2018年10月10日 上午10:38:44
* @param response
* @throws IOException
*/
@RequestMapping(value = "/___downloadTempletFiles",method=RequestMethod.GET)
public void downloadTempletFiles(HttpServletResponse response) throws IOException{
//方法一:直接下载路径下的文件模板
FileInputStream input = null;
OutputStream out = null;
try {
//获取要下载的模板名称
String fileName = "template.zip";
//获取文件的路径
String filePath = getClass().getResource("/template/" fileName).getPath();
fileName = URLEncoder.encode(fileName, "UTF-8");
//设置要下载的文件的名称
response.reset();
response.setHeader("Content-Disposition", "attachment;fileName=" fileName);
response.setContentType("application/octet-stream;charset=UTF-8");
out = response.getOutputStream();
input = new FileInputStream(filePath);
byte[] b = new byte[2048];
int i = 0;
while ((i = input.read(b)) > 0) {
out.write(b, 0, i);
}
out.flush();
logger.info("##SRM####################read template.zip successful");
} catch (Exception ex) {
logger.error("getApplicationTemplate :", ex);
} finally {
if (input != null) {
input.close();
input = null;
}
if (out != null) {
out.close();
out = null;
}
}
}