From 12b91d0b420e85a6ed109402e1876ec2371fd046 Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Wed, 26 Apr 2023 20:19:53 +0800 Subject: [PATCH] ... --- .../com/njcn/harmonic/utils/WordUtil2.java | 5 +++-- .../controller/ExportModelController.java | 20 ++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/WordUtil2.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/WordUtil2.java index 6e49f0fcd..c7018cace 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/WordUtil2.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/utils/WordUtil2.java @@ -3,6 +3,7 @@ package com.njcn.harmonic.utils; import org.apache.poi.xwpf.usermodel.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.core.io.ClassPathResource; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; @@ -20,12 +21,12 @@ public class WordUtil2 { public void getWord(String path, Map params, String fileName, HttpServletResponse response) throws Exception { path = ClearPathUtil.cleanString(path); - File file = new File(path); +// File file = new File(path); InputStream inStream = null; CustomXWPFDocument doc = null; //读取报告模板 try { - inStream = new FileInputStream(file); + inStream = new ClassPathResource(path).getInputStream();; doc = new CustomXWPFDocument(inStream); this.replaceInTable(doc, params); // 替换表格里面的变量 this.replaceInPara(doc, params); // 替换文本里面的变量 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java index 3a01dc6f8..ed49a69be 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/ExportModelController.java @@ -28,6 +28,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.core.io.ClassPathResource; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Encoder; @@ -169,10 +170,13 @@ public class ExportModelController extends BaseController { } else { rtfPath = "file/reportModel.docx"; } - + ClassPathResource rtfPathResource=null; + ClassPathResource picPathResource=null; try { - rtfPath = getClass().getClassLoader().getResource(rtfPath).getPath(); - picPath = getClass().getClassLoader().getResource(picPath).getPath(); + rtfPathResource = new ClassPathResource(rtfPath); + picPathResource = new ClassPathResource(picPath); +// rtfPath = getClass().getClassLoader().getResource(rtfPath).getPath(); +// picPath = getClass().getClassLoader().getResource(picPath).getPath(); rtfPath = rtfPath.replaceAll("%20", " "); picPath = picPath.replaceAll("%20", " "); } catch (Exception e1) { @@ -189,10 +193,15 @@ public class ExportModelController extends BaseController { if (!tmpfile.exists()) { return "pathfail"+rtfPath; } +// File tmpfile = new File(rtfPath); +// if (!tmpfile.exists()) { +// return "pathfail"; +// } InputStream ins = null; try { - ins = new FileInputStream(rtfPath); +// ins = new FileInputStream(rtfPath); + ins = rtfPathResource.getInputStream(); if (null != ins) { flagPath = true; } @@ -225,7 +234,8 @@ public class ExportModelController extends BaseController { InputStream inStream = null; byte[] data = null; try { - inStream = new FileInputStream(new File(picPath)); +// inStream = new FileInputStream(new File(picPath)); + inStream = picPathResource.getInputStream(); data = new byte[inStream.available()]; inStream.read(data); } catch (FileNotFoundException e) {