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