springboot 读取resources下的文件然后下载
记录下代码
/** * 下载模板 * * @param response * @param request */ @RequestMapping(value = "downloadTemp") public void downloadTemp(HttpServletResponse response, HttpServletRequest request) { InputStream inputStream = null; ServletOutputStream servletOutputStream = null; try { String filename = "导入模板.xls"; String path = "excel/drmb.xls"; Resource resource = resourceLoader.getResource("classpath:"+path);response.setContentType("application/vnd.ms-excel"); response.addHeader("Cache-Control", "no-cache, no-store, must-revalidate"); response.addHeader("charset", "utf-8"); response.addHeader("Pragma", "no-cache"); String encodeName = URLEncoder.encode(filename, StandardCharsets.UTF_8.toString()); response.setHeader("Content-Disposition", "attachment; filename=\"" + encodeName + "\"; filename*=utf-8''" + encodeName); inputStream = resource.getInputStream(); servletOutputStream = response.getOutputStream(); IOUtils.copy(inputStream, servletOutputStream); response.flushBuffer(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (servletOutputStream != null) { servletOutputStream.close(); } if (inputStream != null) { inputStream.close(); } // 召唤jvm的垃圾回收器 System.gc(); } catch (Exception e) { e.printStackTrace(); } } }