/** * 文件下载 * @param fileAddress file的完整路径 * @param originalFilename 文件名 * @param response * @throws IOException */ public static void downloadFile(String fileAddress,String originalFilename, HttpServletResponse response) { InputStream inStream = null; try { inStream = new FileInputStream(fileAddress); response.reset(); response.addHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE"); response.addHeader("Access-Control-Allow-Headers", "Content-Type"); response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(originalFilename.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1)); byte[] b = new byte[1024]; int len; while ((len = inStream.read(b)) > 0) { response.getOutputStream().write(b, 0, len); } inStream.close(); } catch (IOException e) { throw new RuntimeException("文件下载异常"+e.getMessage()); }finally { if (inStream != null){ try { inStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }
public static Workbook importExcel(MultipartFile file) throws Exception { String fileName = file.getOriginalFilename(); if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { throw new Exception("文件上传格式不正确"); } boolean isExcel2003 = true; if (fileName.matches("^.+\\.(?i)(xlsx)$")) { isExcel2003 = false; } InputStream is = file.getInputStream(); Workbook wb = null; if (isExcel2003) { wb = new HSSFWorkbook(is); } else { wb = new XSSFWorkbook(is); } return wb; }