笔者在一次模板下载功能开发中,遇到idea运行项目的话,完全正确。但是如果将项目打成jar包运行,就会报“文件名,目录名或卷标语法不正确”。
许久后,终于找到问题所在:getResource无法读取压缩文件里的路径,本地可以,打成jar包会报错
以下为完成代码:
public static void downExcel(HttpServletResponse res, HttpServletRequest req, String fileName) throws Exception{
ServletOutputStream out;
res.setContentType("multipart/form-data");
res.setCharacterEncoding("UTF-8");
res.setContentType("text/html");
//getResource无法读取压缩文件里的路径,本地可以,打成jar包会报错
// String filePath = getClass().getResource("/static/excel/" + fileName).getPath();
Resource resource = new ClassPathResource("/static/excel/"+fileName);
String userAgent = req.getHeader("User-Agent");
if (userAgent.contains("MSIE") || userAgent.contains("Trident