From db1b408d60e2f4d0c48bc875a09ab4c8a2975367 Mon Sep 17 00:00:00 2001 From: ChenJiaHe <763432473@qq.com> Date: 星期六, 05 三月 2022 14:45:39 +0800 Subject: [PATCH] 新增文件导出工具方法-流模式 --- src/main/java/com/hx/util/DownFileUtil.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/hx/util/DownFileUtil.java b/src/main/java/com/hx/util/DownFileUtil.java index 26be2ac..28542ac 100644 --- a/src/main/java/com/hx/util/DownFileUtil.java +++ b/src/main/java/com/hx/util/DownFileUtil.java @@ -146,4 +146,45 @@ } } + /** + * 涓嬭浇鏂囦欢宸ュ叿锛堟彁绀洪�夋嫨璺緞锛� + * + * @param inputStream + * 瀵煎嚭鐨勬枃浠舵祦 + * @param fileName + * 瀵煎嚭鐨勬枃浠跺悕绉� + */ + public static void DownFileTips(HttpServletRequest request, HttpServletResponse response, InputStream inputStream , String fileName) { + final String userAgent = request.getHeader("USER-AGENT"); + try { + if(StringUtils.isEmpty(fileName)){ + throw new RuntimeException("璇疯緭鍏ユ枃浠跺悕绉�"); + } + String filename = ""; + if(userAgent.equals("MSIE")){//IE娴忚鍣� + filename = URLEncoder.encode(fileName,"UTF8"); + }else if(userAgent.equals("Mozilla")){//google,鐏嫄娴忚鍣� + filename = new String(fileName.getBytes(), "ISO8859-1"); + }else{ + filename = URLEncoder.encode(fileName,"UTF8");//鍏朵粬娴忚鍣� + } + InputStream fis = new BufferedInputStream(inputStream); + byte[] buffer = new byte[fis.available()]; + fis.read(buffer); + fis.close(); + + response.addHeader("Content-Disposition", "attachment;filename="+ filename); + OutputStream toClient= new BufferedOutputStream(response.getOutputStream()); + response.setContentType("application/vnd.ms-excel;charset=utf-8"); + + toClient.write(buffer); + toClient.flush(); + toClient.close(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } -- Gitblit v1.8.0