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