|  |  |  | 
|---|
|  |  |  | package com.moral.api.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
|---|
|  |  |  | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; | 
|---|
|  |  |  | import com.moral.api.entity.Organization; | 
|---|
|  |  |  | import com.moral.api.entity.ServicesScope; | 
|---|
|  |  |  | import com.moral.api.mapper.OrganizationMapper; | 
|---|
|  |  |  | import com.moral.api.service.HistoryDailyService; | 
|---|
|  |  |  | import com.moral.api.service.HistoryHourlyService; | 
|---|
|  |  |  | import com.moral.api.service.HistoryMonthlyService; | 
|---|
|  |  |  | import com.moral.api.service.ServicesScopeService; | 
|---|
|  |  |  | import com.moral.constant.Constants; | 
|---|
|  |  |  | import com.moral.constant.ResponseCodeEnum; | 
|---|
|  |  |  | import com.moral.constant.ResultMessage; | 
|---|
|  |  |  | import com.moral.util.DateUtils; | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | import javax.servlet.http.HttpServletRequest; | 
|---|
|  |  |  | import javax.servlet.http.HttpServletResponse; | 
|---|
|  |  |  | import java.io.*; | 
|---|
|  |  |  | import java.net.URLEncoder; | 
|---|
|  |  |  | import java.text.ParseException; | 
|---|
|  |  |  | import java.text.SimpleDateFormat; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private HistoryMonthlyService historyMonthlyService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ServicesScopeService servicesScopeService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "getThermodynamicDiagramDataByCondition", method = RequestMethod.GET) | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | 
|---|
|  |  |  | return ResultMessage.ok(resultMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "getThermodynamicDiagramDataByConditionV2", method = RequestMethod.GET) | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | public ResultMessage getThermodynamicDiagramDataByConditionV2(HttpServletRequest request) throws ParseException { | 
|---|
|  |  |  | Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null); | 
|---|
|  |  |  | Object servicesScopeId = parameters.get("servicesScopeId"); | 
|---|
|  |  |  | Object sensorCode = parameters.get("sensor_code"); | 
|---|
|  |  |  | Object type = parameters.get("type"); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(servicesScopeId) || ObjectUtils.isEmpty(sensorCode) || ObjectUtils.isEmpty(type)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | QueryWrapper<ServicesScope> servicesScopeQueryWrapper = new QueryWrapper<>(); | 
|---|
|  |  |  | servicesScopeQueryWrapper.eq("is_delete",Constants.NOT_DELETE); | 
|---|
|  |  |  | servicesScopeQueryWrapper.eq("id",servicesScopeId); | 
|---|
|  |  |  | ServicesScope servicesScope = servicesScopeService.getOne(servicesScopeQueryWrapper); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(servicesScope)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Map<String, Object> resultMap = new HashMap<>(); | 
|---|
|  |  |  | List<Map<String,Object>> resultList = new ArrayList<>(); | 
|---|
|  |  |  | if (type.equals("hourly")){ | 
|---|
|  |  |  | Object time = parameters.get("time"); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(time)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | resultMap = historyHourlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(parameters); | 
|---|
|  |  |  | return ResultMessage.ok(resultMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type.equals("daily")){ | 
|---|
|  |  |  | Object time = parameters.get("time"); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(time)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | resultMap = historyDailyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(parameters); | 
|---|
|  |  |  | return ResultMessage.ok(resultMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type.equals("monthly")){ | 
|---|
|  |  |  | Object time = parameters.get("time"); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(time)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | resultMap = historyMonthlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(parameters); | 
|---|
|  |  |  | return ResultMessage.ok(resultMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (type.equals("custom")){ | 
|---|
|  |  |  | String startTime = parameters.get("startTime").toString(); | 
|---|
|  |  |  | String endTime = parameters.get("endTime").toString(); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(startTime) || ObjectUtils.isEmpty(endTime)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (startTime.length() == 13){ | 
|---|
|  |  |  | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制 | 
|---|
|  |  |  | long newTime1 = simpleDateFormat.parse(startTime+":00:00").getTime(); | 
|---|
|  |  |  | long newTime2 = simpleDateFormat.parse(endTime+":00:00").getTime(); | 
|---|
|  |  |  | Long result = newTime2 - newTime1; //获取两时间相差的毫秒数 | 
|---|
|  |  |  | long nd = 1000 * 24 * 60 * 60; | 
|---|
|  |  |  | long nh = 1000 * 60 * 60; | 
|---|
|  |  |  | long nm = 1000 * 60; | 
|---|
|  |  |  | long hour = result / nh; //获取相差的小时数 | 
|---|
|  |  |  | if (hour+1>12){ | 
|---|
|  |  |  | return ResultMessage.fail(-1, "时间不能超过12小时"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (hour<0){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.TIME_FORMAT_INVALID.getCode(), ResponseCodeEnum.TIME_FORMAT_INVALID.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | parameters.put("hour",hour); | 
|---|
|  |  |  | resultList = historyHourlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeslotV2(parameters); | 
|---|
|  |  |  | return ResultMessage.ok(resultList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (startTime.length() == 10){ | 
|---|
|  |  |  | long days = DateUtils.getQuotByDays(startTime, endTime); | 
|---|
|  |  |  | if (days+1>12){ | 
|---|
|  |  |  | return ResultMessage.fail(-1, "时间不能超过12天"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | parameters.put("days",days); | 
|---|
|  |  |  | resultList = historyDailyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlotV2(parameters); | 
|---|
|  |  |  | return ResultMessage.ok(resultList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (startTime.length() == 7){ | 
|---|
|  |  |  | SimpleDateFormat df = new SimpleDateFormat("yyyy-MM"); | 
|---|
|  |  |  | Date satrtTimeDate = df.parse(startTime); | 
|---|
|  |  |  | Date endTimeDate = df.parse(endTime); | 
|---|
|  |  |  | long months = DateUtils.getMonth(satrtTimeDate,endTimeDate); //获取相差的小时数 | 
|---|
|  |  |  | if (months+1>12){ | 
|---|
|  |  |  | return ResultMessage.fail(-1, "时间不能超过12月"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | parameters.put("months",months); | 
|---|
|  |  |  | resultList = historyMonthlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlotV2(parameters); | 
|---|
|  |  |  | return ResultMessage.ok(resultList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ResultMessage.ok(resultMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @GetMapping("honeycombDiagram") | 
|---|
|  |  |  | public ResultMessage honeycombDiagram (HttpServletRequest httpServletRequest, HttpServletResponse response) throws IOException { | 
|---|
|  |  |  | Map<String, Object> params = WebUtils.getParametersStartingWith(httpServletRequest, null); | 
|---|
|  |  |  | Object serviceScopeId = params.get("serviceScopeId"); | 
|---|
|  |  |  | Object sensor_code = params.get("sensor_code"); | 
|---|
|  |  |  | Object type = params.get("type"); | 
|---|
|  |  |  | Object time = params.get("time"); | 
|---|
|  |  |  | Object distance = params.get("distance"); | 
|---|
|  |  |  | if (ObjectUtils.isEmpty(serviceScopeId)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //获取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"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //tsv文件是空格分隔,除第一个外,每次写入一个单元格数据后需要输入空格 | 
|---|
|  |  |  | ow.write("lng"); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write("lat"); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write("count"); | 
|---|
|  |  |  | //写完文件头换行 | 
|---|
|  |  |  | ow.write("\r\n"); | 
|---|
|  |  |  | //写内容 | 
|---|
|  |  |  | for (Map map:resultList) { | 
|---|
|  |  |  | ow.write(map.get("lon").toString()); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write(map.get("lat").toString()); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write(map.get("value").toString()); | 
|---|
|  |  |  | //写完一行换行 | 
|---|
|  |  |  | ow.write("\r\n"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ow.flush(); | 
|---|
|  |  |  | ow.close(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /*String localAddr = httpServletRequest.getLocalAddr(); | 
|---|
|  |  |  | int serverPort = httpServletRequest.getServerPort();*/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String,Object> res = new HashMap<>(); | 
|---|
|  |  |  | res.put("path","http://47.99.64.149:8081"+"/static/tsv/"+file.getName()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ResultMessage.ok(res); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @RequestMapping(value = "returnDataTest", method = RequestMethod.GET) | 
|---|
|  |  |  | @ResponseBody | 
|---|
|  |  |  | public ResultMessage returnDataTest(HttpServletRequest request) throws ParseException { | 
|---|
|  |  |  | List bigList = new ArrayList(); | 
|---|
|  |  |  | Map<String,Object> resultMap = new HashMap<>(); | 
|---|
|  |  |  | List<Double> boundList = new ArrayList<>(); | 
|---|
|  |  |  | boundList.add(120.70980239181193); | 
|---|
|  |  |  | boundList.add(31.329143000000002); | 
|---|
|  |  |  | boundList.add(120.74077860818807); | 
|---|
|  |  |  | boundList.add(31.356963); | 
|---|
|  |  |  | resultMap.put("bound",boundList); | 
|---|
|  |  |  | resultMap.put("time","2021-12-10 08:00:00"); | 
|---|
|  |  |  | List<Double> centerPointList = new ArrayList<>(); | 
|---|
|  |  |  | centerPointList.add(120.72529050000001); | 
|---|
|  |  |  | centerPointList.add(31.343053); | 
|---|
|  |  |  | resultMap.put("centerPoint",centerPointList); | 
|---|
|  |  |  | List<Double> list1 = new ArrayList<>(); | 
|---|
|  |  |  | list1.add(120.711611); | 
|---|
|  |  |  | list1.add(31.355163); | 
|---|
|  |  |  | list1.add(1.0); | 
|---|
|  |  |  | List<Double> list2 = new ArrayList<>(); | 
|---|
|  |  |  | list2.add(120.726821); | 
|---|
|  |  |  | list2.add(31.342079); | 
|---|
|  |  |  | list2.add(4.0); | 
|---|
|  |  |  | List<Double> list3 = new ArrayList<>(); | 
|---|
|  |  |  | list3.add(120.735515); | 
|---|
|  |  |  | list3.add(31.353261); | 
|---|
|  |  |  | list3.add(2.0); | 
|---|
|  |  |  | List list123 = new ArrayList(); | 
|---|
|  |  |  | list123.add(list1); | 
|---|
|  |  |  | list123.add(list3); | 
|---|
|  |  |  | list123.add(list2); | 
|---|
|  |  |  | resultMap.put("list",list123); | 
|---|
|  |  |  | for (int i=0;i<10;i++){ | 
|---|
|  |  |  | resultMap.put("time","2021-12-10 0"+i+":00:00"); | 
|---|
|  |  |  | bigList.add(resultMap); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  | Object type = params.get("type"); | 
|---|
|  |  |  | Object time = params.get("time"); | 
|---|
|  |  |  | Object distance = params.get("distance"); | 
|---|
|  |  |  | /*if (ObjectUtils.isEmpty(serviceScopeId)){ | 
|---|
|  |  |  | return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); | 
|---|
|  |  |  | }*/ | 
|---|
|  |  |  | 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"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return ResultMessage.ok(bigList); | 
|---|
|  |  |  | //获取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"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //tsv文件是空格分隔,除第一个外,每次写入一个单元格数据后需要输入空格 | 
|---|
|  |  |  | ow.write("lon"); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write("lat"); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write("value"); | 
|---|
|  |  |  | //写完文件头换行 | 
|---|
|  |  |  | ow.write("\r\n"); | 
|---|
|  |  |  | //写内容 | 
|---|
|  |  |  | for (Map map:resultList) { | 
|---|
|  |  |  | ow.write(map.get("lon").toString()); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write(map.get("lat").toString()); | 
|---|
|  |  |  | ow.write("  "); | 
|---|
|  |  |  | ow.write(map.get("value").toString()); | 
|---|
|  |  |  | //写完一行换行 | 
|---|
|  |  |  | ow.write("\r\n"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ow.flush(); | 
|---|
|  |  |  | ow.close(); | 
|---|
|  |  |  | /*File file1 = new File(file.getPath()); | 
|---|
|  |  |  | InputStream inputStream = new FileInputStream(file1); | 
|---|
|  |  |  | OutputStream outputStream = new BufferedOutputStream(response.getOutputStream()); | 
|---|
|  |  |  | byte[] bytes = new byte[1024]; | 
|---|
|  |  |  | int len; | 
|---|
|  |  |  | while ((len = inputStream.read(bytes)) != -1){ | 
|---|
|  |  |  | response.getOutputStream().write(bytes,0,len); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | outputStream.flush(); | 
|---|
|  |  |  | outputStream.close(); | 
|---|
|  |  |  | inputStream.close();*/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /*response.setCharacterEncoding("UTF-8"); | 
|---|
|  |  |  | System.out.println(file.getName()); | 
|---|
|  |  |  | String realFileName = file.getName(); | 
|---|
|  |  |  | response.setHeader("content-type", "application/octet-stream;charset=UTF-8"); | 
|---|
|  |  |  | response.addHeader("Content-Length",String.valueOf(file.length())); | 
|---|
|  |  |  | response.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(realFileName.trim(), "UTF-8")); | 
|---|
|  |  |  | byte[] buff = new byte[1024]; | 
|---|
|  |  |  | BufferedInputStream bis = null; | 
|---|
|  |  |  | OutputStream os = null; | 
|---|
|  |  |  | os = response.getOutputStream(); | 
|---|
|  |  |  | bis = new BufferedInputStream(new FileInputStream(file)); | 
|---|
|  |  |  | int i = bis.read(buff); | 
|---|
|  |  |  | while (i != -1) { | 
|---|
|  |  |  | os.write(buff, 0, buff.length); | 
|---|
|  |  |  | os.flush(); | 
|---|
|  |  |  | i = bis.read(buff); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | bis.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")); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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();*/ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Map<String,Object> res = new HashMap<>(); | 
|---|
|  |  |  | res.put("path",file.getPath()); | 
|---|
|  |  |  | return ResultMessage.ok(res); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|