From 0f0fdfa45ec10981c466b5732964e8f378f1c0af Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 13 十一月 2021 17:50:27 +0800
Subject: [PATCH] bug修复

---
 src/main/java/com/ks/codegenerator/controller/GeneratorController.java |   32 +++++++++++++++++++++++++++-----
 1 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ks/codegenerator/controller/GeneratorController.java b/src/main/java/com/ks/codegenerator/controller/GeneratorController.java
index d5833ce..95e3bd8 100644
--- a/src/main/java/com/ks/codegenerator/controller/GeneratorController.java
+++ b/src/main/java/com/ks/codegenerator/controller/GeneratorController.java
@@ -7,8 +7,8 @@
 import org.yeshi.utils.StringUtil;
 
 import javax.servlet.http.HttpServletRequest;
-import java.io.IOException;
-import java.io.PrintWriter;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
 
 /**
  * @author hxh
@@ -20,7 +20,8 @@
 @Controller
 public class GeneratorController {
 
-    @RequestMapping("service")
+    //鐢熸垚service
+    @RequestMapping("createService")
     public void service(String name, String pks, String subpks, PrintWriter out, HttpServletRequest request) {
         if (StringUtil.isNullOrEmpty(name) || StringUtil.isNullOrEmpty(pks) || StringUtil.isNullOrEmpty(subpks)) {
             out.print(JsonUtil.loadFalseResult("椤圭洰鍚嶇О锛岄」鐩寘鍚嶏紝搴旂敤鍖呭悕涓嶈兘涓虹┖"));
@@ -28,13 +29,34 @@
         }
         String rootPath = request.getServletContext().getRealPath("cache");
         try {
-            new ServiceBuilder().setCacheDir(rootPath).setName(name).setPks(pks).setSubpks(subpks).build();
-
+            String path = new ServiceBuilder().setCacheDir(rootPath).setName(name).setPks(pks).setSubpks(subpks).build();
+            out.print(JsonUtil.loadTrueResult(path));
         } catch (Exception e) {
             e.printStackTrace();
             out.print(JsonUtil.loadFalseResult(e.getMessage()));
         }
+    }
 
+    @RequestMapping("downloadServiceZIP")
+    public void downloadServiceZIP(String name, HttpServletResponse response) throws IOException {
+        if (!new File(name).exists()) {
+            response.sendError(406, "闂环宸茶鍒犻櫎");
+            return;
+        }
+        response.setHeader("content-disposition", "attachment;filename=" + new File(name).getName());
+        //4.鑾峰彇瑕佷笅杞界殑鏂囦欢杈撳叆娴�
+        InputStream in = new FileInputStream(new File(name).getAbsolutePath());
+        int len = 0;
+        //5.鍒涘缓鏁版嵁缂撳啿鍖�
+        byte[] buffer = new byte[1024];
+        //6.閫氳繃response瀵硅薄鑾峰彇OutputStream娴�
+        OutputStream out = response.getOutputStream();
+        //7.灏咶ileInputStream娴佸啓鍏ュ埌buffer缂撳啿鍖�
+        while ((len = in.read(buffer)) > 0) {
+            //8.浣跨敤OutputStream灏嗙紦鍐插尯鐨勬暟鎹緭鍑哄埌瀹㈡埛绔祻瑙堝櫒
+            out.write(buffer, 0, len);
+        }
+        in.close();
 
     }
 

--
Gitblit v1.8.0