@GetMapping("/v1/downloadFile") public void downloadFile(HttpServletRequest request,@RequestParam(value = "fileName",required = false)String fileName,HttpServletResponse response){ if(StringUtils.isBlank(fileName)){ fileName="平台SKU映射关系维护导入模板.xlsx"; } String fullFileName=fileDownloadBasePath+fileName; OutputStream outputStreamDownload = null; InputStream in = null; try { response.reset(); response.resetBuffer(); if (request.getHeader("user-agent").toLowerCase().contains("msie")||request.getHeader("user-agent").toLowerCase().contains("like gecko") ) { response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("GB2312"), "ISO8859-1" ) + "\""); }else{ response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(fileName.getBytes("utf-8"), "ISO8859-1" )+ "\""); } response.setContentType("application/octet-stream"); outputStreamDownload = response.getOutputStream(); File file = new File(fullFileName); in = new FileInputStream(file); //写文件 int b; while((b=in.read())!= -1) { outputStreamDownload.write(b); } } catch (UnsupportedEncodingException e) { log.error("下载文件错误:{}",e); } catch (IOException e) { log.error("下载文件错误:{}",e); } finally { try { if(outputStreamDownload != null){ outputStreamDownload.close(); } if(in!=null){ in.close(); } } catch (IOException e) { log.error("下载文件错误:{}",e); } } }
Javaweb下载指定目录下的文件
最新推荐文章于 2024-07-20 03:18:05 发布