From 9bce48a9f30f7d80c43f43f46d40df20fcb00e15 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 03 二月 2023 09:39:59 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/helper/WebHelper.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/lf/server/helper/WebHelper.java b/src/main/java/com/lf/server/helper/WebHelper.java
index 4014998..23937bb 100644
--- a/src/main/java/com/lf/server/helper/WebHelper.java
+++ b/src/main/java/com/lf/server/helper/WebHelper.java
@@ -5,16 +5,21 @@
 import com.lf.server.entity.all.ResponseMsg;
 import com.lf.server.entity.all.SettingData;
 import com.lf.server.entity.all.StaticData;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.ServletContext;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.net.URLEncoder;
 import java.sql.Timestamp;
 import java.util.Calendar;
 import java.util.Random;
@@ -28,6 +33,8 @@
     private final static String UNKNOWN = "unknown";
 
     private final static String COMMA = ",";
+
+    private final static Log log = LogFactory.getLog(WebHelper.class);
 
     /**
      * 鑾峰彇GUID
@@ -274,9 +281,74 @@
     }
 
     /**
+     * 鍐欏搷搴斾俊鎭�
+     */
+    public static void writeInfo(HttpStatus status, String info, HttpServletResponse res) {
+        try {
+            WebHelper.write2Page(res, WebHelper.getErrJson(status, info));
+        } catch (Exception e) {
+            //
+        }
+    }
+
+    /**
      * 鑾峰彇闅忔満鏁存暟
      */
     public static int getRandomInt(int min, int max) {
         return new Random().nextInt(max) % (max - min + 1) + min;
     }
+
+    /**
+     * 涓嬭浇鏂囦欢
+     *
+     * @param file     鏂囦欢
+     * @param fileName 鏂囦欢鍚�
+     * @param res      鍝嶅簲
+     * @throws Exception 寮傚父
+     */
+    public static void download(String file, String fileName, HttpServletResponse res) throws Exception {
+        if (StringHelper.isNull(fileName)) {
+            fileName = URLEncoder.encode(FileHelper.getFileName(file), "UTF-8");
+        }
+
+        // 璁剧疆鍝嶅簲澶翠腑鏂囦欢鐨勪笅杞芥柟寮忎负闄勪欢鏂瑰紡锛屼互鍙婅缃枃浠跺悕
+        res.setHeader("Content-Disposition", "attachment; filename=" + fileName);
+        // 璁剧疆鍝嶅簲澶寸殑缂栫爜鏍煎紡涓篣TF-8
+        res.setCharacterEncoding("UTF-8");
+
+        // 閫氳繃response瀵硅薄璁剧疆鍝嶅簲鏁版嵁鏍煎紡(濡傦細"text/plain; charset=utf-8")
+        String ext = FileHelper.getExtension(file);
+        String mime = FileHelper.getMime(ext);
+        res.setContentType(mime);
+
+        // 閫氳繃response瀵硅薄锛岃幏鍙栧埌杈撳嚭娴�
+        ServletOutputStream outputStream = res.getOutputStream();
+        // 瀹氫箟杈撳叆娴侊紝閫氳繃杈撳叆娴佽鍙栨枃浠跺唴瀹�
+        FileInputStream fileInputStream = new FileInputStream(file);
+
+        int len = 0;
+        byte[] bytes = new byte[1024];
+        while ((len = fileInputStream.read(bytes)) != -1) {
+            // 閫氳繃杈撳叆娴佽鍙栨枃浠舵暟鎹紝鐒跺悗閫氳繃涓婅堪鐨勮緭鍑烘祦鍐欏洖娴忚鍣�
+            outputStream.write(bytes, 0, len);
+            outputStream.flush();
+        }
+
+        // 鍏抽棴璧勬簮
+        outputStream.close();
+        fileInputStream.close();
+    }
+
+    /**
+     * 鎵ц鍛戒护
+     *
+     * @param cmd 鍛戒护
+     */
+    public static void exec(String cmd) {
+        try {
+            Runtime.getRuntime().exec(cmd);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+    }
 }

--
Gitblit v1.9.3