springboot 下載模板文件 加載classpath文件路徑


項目需要下載導入模板,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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM