赞
踩
在resource下新建文件目录【template】
启动之后查看编译结果
编写下载模板方法
public void downLoadTemplate(HttpServletResponse response) { FileInputStream fis = null; ServletOutputStream sos = null; try { String fileName = URLEncoder.encode("用户管理导入模板", "UTF-8"); String path = "template/用户管理导入模板.xlsx"; //设置响应头 response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); // 这里URLEncoder.encode可以防止中文乱码 response.setHeader("Content-disposition", "attachment;filename="+fileName+".xlsx"); ClassPathResource classPathResource = new ClassPathResource(path); fis = new FileInputStream(classPathResource.getFile()); sos = response.getOutputStream(); IOUtils.copy(fis,sos); } catch (Exception e) { throw new SysException("下载文件失败:" + e.getMessage()); } finally { try { if (fis != null) { fis.close(); } if (sos != null) { sos.flush(); sos.close(); } } catch (IOException e) { e.printStackTrace(); } } }
下载文件,发现文件可以正常下载,但是文件被破坏
查看原文件大小和编译后文件大小是否一致,如果不一致,则说明编译文件时出现问题。
解决方式:
①在pom中添加以下配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <version>2.6</version> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>UTF-8</encoding> <nonFilteredFileExtensions> <nonFilteredFileExtension>xlsx</nonFilteredFileExtension> </nonFilteredFileExtensions> </configuration> </plugin>
注:此配置可以避免xlsx文件在resource目录下被自动压缩,这样就可以正常下载了。
②重新加载maven,再次下载文件,问题解决
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。