package com.dy.pipIrrMwTestWeb.rtuLog; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import jakarta.servlet.ServletOutputStream; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.net.URLEncoder; import java.util.List; /** * @Author: liurunyu * @Date: 2024/8/28 14:55 * @Description */ @Slf4j @RestController @RequestMapping(path="rtuLog") public class RtuLogCtrl extends RtuLogSupport { @GetMapping(path = "logFile") public BaseResponse> rtuLogFile(String rtuAddr, HttpServletRequest req, HttpServletResponse rep){ ServletOutputStream out = null ; try{ byte[] bs = this.requestMw4File(rtuAddr, mwUrlRtuLogFile) ; if(bs != null && bs.length > 0){ String fileReName = rtuAddr + ".log" ; //URLEncoder.encode可以防止中文乱码 fileReName = URLEncoder.encode(fileReName, "UTF-8").replaceAll("\\+", "%20"); rep.addHeader("content-type", "application/octet-stream;charset=UTF-8"); rep.addHeader("Content-Disposition", "attachment;fileName=" + fileReName); out = rep.getOutputStream() ; out.write(bs, 0, (bs==null?0:bs.length)); out.flush(); }else{ return BaseResponseUtils.buildError("获取文件失败") ; } }catch (Exception e){ }finally { if(out != null){ try{ out.close(); }catch(Exception e){ } } } return null ; } @GetMapping(path="logText") public BaseResponse> rtuLogText(String rtuAddr){ BaseResponse> response = this.requestMw4Text(rtuAddr, mwUrlRtuLogText) ; return response ; } }