码迷,mamicode.com
首页 > 编程语言 > 详细

springboot 下载模板文件 加载classpath文件路径

时间:2017-11-28 15:29:51      阅读:385      评论:0      收藏:0      [点我收藏+]

标签:resource   list   报错   .net   listt   temp   body   filename   log   

项目需要下载导入模板,springboot使用如下下载方式可解决问题:

/**
* 导入模板下载
* @param req
* @param resp
* @param context
* @return
*/
@RequestMapping(value = "wSku/downLoadFile", method = {RequestMethod.POST, RequestMethod.GET})
public @ResponseBody void downLoadFile(HttpServletRequest req,HttpServletResponse resp) {
String fileDownName ="价格表-模板.xlsx";
logger.debug("下载模板文件名称:"+fileDownName);
try {
InputStream fis = WSkuController.class.getResourceAsStream("/exceltemplet/priceListTemplate.xlsx");
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
response.reset();
response.setContentType("bin");

String fileNames = fileDownName;
String agent = request.getHeader("USER-AGENT");

String codedfilename = "";
if (null != agent && -1 != agent.indexOf("MSIE") || null != agent && -1 != agent.indexOf("Trident")) {// ie

String name = java.net.URLEncoder.encode(fileNames, "UTF8");

codedfilename = name;
} else if (null != agent && -1 != agent.indexOf("Mozilla")) {// 火狐,chrome等

codedfilename = new String(fileNames.getBytes("UTF-8"), "iso-8859-1");
}

response.addHeader("Content-Disposition", "attachment; filename=\"" + codedfilename + "\"");
response.getOutputStream().write(buffer);
} catch (IOException e) {
e.printStackTrace();
logger.debug("下载价格表-模板文件报错"+e.getMessage(), e);
}
}

其中文件存放在如下路径下:/imfbp-istorewares-admin/src/main/resources/exceltemplet/priceListTemplate.xlsx

 

springboot 下载模板文件 加载classpath文件路径

标签:resource   list   报错   .net   listt   temp   body   filename   log   

原文地址:http://www.cnblogs.com/hhg-myblogs/p/7909736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!