From 403f25771e533323a8ae985a396fafa8e152b55d Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Wed, 27 Apr 2022 15:56:12 +0800
Subject: [PATCH] 生成文件,返回路径

---
 screen-api/src/main/java/com/moral/api/controller/ChartController.java |   71 ++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 34 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/controller/ChartController.java b/screen-api/src/main/java/com/moral/api/controller/ChartController.java
index 4e27ef4..2e3211a 100644
--- a/screen-api/src/main/java/com/moral/api/controller/ChartController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/ChartController.java
@@ -16,6 +16,7 @@
 import com.moral.util.WebUtils;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.system.ApplicationHome;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -251,7 +252,20 @@
         }
         List<Map<String, Object>> resultList = servicesScopeService.honeycombDiagram(Integer.parseInt(serviceScopeId.toString()), Integer.parseInt(distance.toString()), type.toString(), time.toString(), sensor_code.toString());
         //List<Map<String, Object>> resultList = servicesScopeService.honeycombDiagram(6, 40, "monthly", "2022-02", "a34004");
-        File file = File.createTempFile("test",".tsv");
+
+        //������jar���������������
+        ApplicationHome applicationHome = new ApplicationHome(getClass());
+        //���jar������������������������������upload������������������������������������
+        String path = applicationHome.getSource().getParentFile().toString() + "/static/tsv";
+
+        //File file = File.createTempFile("test",".tsv");
+        if (!new File(path).exists()){
+            new File(path).mkdir();
+        }
+        File file = null;
+        File dir = new File(path);
+        file = File.createTempFile("honeycombDiagram",".tsv",dir);
+
         //������������������������������������
         OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(file),"UTF-8");
 
@@ -276,39 +290,15 @@
         ow.flush();
         ow.close();
 
-        //1���������response ���������
-        response.reset(); //���������������������,������buffer
-        response.setCharacterEncoding("UTF-8"); //������������
-        response.setContentType("multipart/form-data"); //���������������������
-        //���������������
-        response.setHeader("Content-Disposition",
-                "attachment;fileName="+ URLEncoder.encode(file.getName(), "UTF-8"));
+        Map<String,Object> res = new HashMap<>();
+        res.put("path",file.getPath());
 
-        File file1 = new File(file.getParent(),file.getName());
-        System.out.println(file1.getParent());
-        //2��� ������������--���������
-        InputStream input=new FileInputStream(file1);
-        //3��� ������������--���������
-        OutputStream out = response.getOutputStream();
-
-        byte[] buff =new byte[1024];
-        int index=0;
-        //4��������� ������������
-        while((index= input.read(buff))!= -1){
-            out.write(buff, 0, index);
-            out.flush();
-        }
-        out.close();
-        input.close();
-
-        file.delete();
-
-        return ResultMessage.ok();
+        return ResultMessage.ok(res);
     }
 
     @RequestMapping(value = "returnDataTest", method = RequestMethod.GET)
     @ResponseBody
-    public void returnDataTest(HttpServletRequest request, HttpServletResponse response) throws ParseException, IOException {
+    public ResultMessage returnDataTest(HttpServletRequest request, HttpServletResponse response) throws ParseException, IOException {
         Map<String, Object> params = WebUtils.getParametersStartingWith(request, null);
         Object serviceScopeId = params.get("serviceScopeId");
         Object sensor_code = params.get("sensor_code");
@@ -320,7 +310,19 @@
         }*/
         List<Map<String, Object>> resultList = servicesScopeService.honeycombDiagram(Integer.parseInt(serviceScopeId.toString()), Integer.parseInt(distance.toString()), type.toString(), time.toString(), sensor_code.toString());
         //List<Map<String, Object>> resultList = servicesScopeService.honeycombDiagram(6, 40, "monthly", "2022-02", "a34004");
-        File file = File.createTempFile("test",".tsv");
+
+        //������jar���������������
+        ApplicationHome applicationHome = new ApplicationHome(getClass());
+        //���jar������������������������������upload������������������������������������
+        String path = applicationHome.getSource().getParentFile().toString() + "/static/tsv";
+
+        //File file = File.createTempFile("test",".tsv");
+        if (!new File(path).exists()){
+            new File(path).mkdir();
+        }
+        File file = null;
+        File dir = new File(path);
+        file = File.createTempFile("honeycombDiagram",".tsv",dir);
         //������������������������������������
         OutputStreamWriter ow = new OutputStreamWriter(new FileOutputStream(file),"UTF-8");
 
@@ -375,7 +377,7 @@
         }
         bis.close();*/
 
-        //1���������response ���������
+        /*//1���������response ���������
         response.reset(); //���������������������,������buffer
         response.setCharacterEncoding("UTF-8"); //������������
         response.setContentType("multipart/form-data"); //���������������������
@@ -398,10 +400,11 @@
             out.flush();
         }
         out.close();
-        input.close();
+        input.close();*/
 
-        file.delete();
-        //return ResultMessage.ok();
+        Map<String,Object> res = new HashMap<>();
+        res.put("path",file.getPath());
+        return ResultMessage.ok(res);
     }
 
 }

--
Gitblit v1.8.0