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