From 55334da20cff4dac840c320eda1d0ca53ba27eda Mon Sep 17 00:00:00 2001 From: fwq <582742538@qq.com> Date: 星期一, 23 九月 2024 14:26:36 +0800 Subject: [PATCH] Merge branch 'master-stander' into master-xlk --- src/main/java/com/hx/util/DownFileUtil.java | 76 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 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..a6535b0 100644 --- a/src/main/java/com/hx/util/DownFileUtil.java +++ b/src/main/java/com/hx/util/DownFileUtil.java @@ -146,4 +146,80 @@ } } + /** + * 涓嬭浇鏂囦欢宸ュ叿锛堟彁绀洪�夋嫨璺緞锛� + * + * @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(); + } + } + + /** + * 涓嬭浇鏂囦欢宸ュ叿锛堟彁绀洪�夋嫨璺緞锛� + * + * @param downfile + * 瀵煎嚭鐨勬枃浠� + * @param fileName + * 瀵煎嚭鐨勬枃浠跺悕绉� + */ + public static void DownFileTips( HttpServletResponse response, File downfile, String fileName) { + try { + if(StringUtils.isEmpty(fileName)){ + fileName = downfile.getName(); + } + String filename = ""; + filename = URLEncoder.encode(fileName,"UTF8");//鍏朵粬娴忚鍣� + InputStream fis = new BufferedInputStream(new FileInputStream( + downfile)); + 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