@GetMapping("/downloadFtl")
@ApiOperation("下载批量发货模板")
public void downloadFtl(HttpServletRequest request, HttpServletResponse response) {
try {
//获取要下载的模板名称
String fileName = "template.xls".toString();
// 设置要下载的文件的名称
response.setHeader("Content-disposition", "attachment;fileName=" + URLEncoder.encode(fileName, "UTF-8"));
// 通知客服文件的MIME类型
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
// 获取文件的路径
String filePath = request.getSession().getServletContext().getRealPath("/ftl/"+"template.xls");
FileInputStream input = new FileInputStream(filePath);
OutputStream out = response.getOutputStream();
byte[] b = new byte[1024];
int len;
while ((len = input.read(b)) != -1) {
out.write(b, 0, len);
}
// 修正 Excel在“xxx.xlsx”中发现不可读取的.内容。是否恢复此工作薄的内容?如果信任此工作簿的来源,请点击"是"
response.setHeader("Content-Length", String.valueOf(input.getChannel().size()));
input.close();
} catch (Exception e) {
log.error("下载批量发货模板失败",e);
}
}
对于springBoot项目下载模板可以看我的另一篇文章。