diff --git a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java index ba0f20f..9a867c9 100644 --- a/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java +++ b/src/main/java/com/emr/controller/templateSearch/TemplateSearchController.java @@ -1337,6 +1337,7 @@ public class TemplateSearchController { List scanPathList = vo.getScanPathList(); //每个文件名 String fileName = vo.getInpatientNo().trim() + "-" + vo.getName().trim() + "-" + disDate.trim() + "_" + fmt.format(new Date()); + fileName = java.net.URLEncoder.encode(fileName, "UTF-8"); zos.putNextEntry(new ZipEntry(fileName + ".pdf")); //合成pdf out = new ByteArrayOutputStream(); @@ -1345,7 +1346,7 @@ public class TemplateSearchController { bis = new BufferedInputStream(new ByteArrayInputStream(file)); //输出 int len = 0; - byte[] buf = new byte[100 * 1024]; + byte[] buf = new byte[1024 * 1024]; while ((len = bis.read(buf, 0, buf.length)) != -1) { bos.write(buf, 0, len); } diff --git a/src/main/java/com/emr/service/CommomService.java b/src/main/java/com/emr/service/CommomService.java index f6846c4..6ad1b1c 100644 --- a/src/main/java/com/emr/service/CommomService.java +++ b/src/main/java/com/emr/service/CommomService.java @@ -617,6 +617,12 @@ public class CommomService { Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); List outs = new LinkedList<>(); if (StringUtils.isNotBlank(names)) { + if (new File(WATERPICPATH).isDirectory()) { + FileUtils.deleteDirectory(new File(WATERPICPATH)); + } + if (!new File(WATERTIFTOJPGPATH).isDirectory()) { + FileUtils.deleteDirectory(new File(WATERTIFTOJPGPATH)); + } String[] rootPathList = rootPaths.split(","); String[] nameList = names.split(","); String[] sourceList = sources.split(","); @@ -665,9 +671,6 @@ public class CommomService { //目录不存在则创建 if (!new File(waterPicRoot).isDirectory()) { new File(waterPicRoot).mkdirs(); - }else{ - FileUtils.deleteDirectory(new File(WATERPICPATH)); - new File(waterPicRoot).mkdirs(); } //组织加水印后图片存放地址 String waterPicPath = waterPicRoot + nameList[i]; @@ -694,9 +697,6 @@ public class CommomService { //保存目录不存在新增 if (!new File(WATERTIFTOJPGPATH).isDirectory()) { new File(WATERTIFTOJPGPATH).mkdirs(); - }else{ - FileUtils.deleteDirectory(new File(WATERPICPATH)); - new File(WATERTIFTOJPGPATH).mkdirs(); } Date date = new Date(); SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS"); @@ -712,17 +712,25 @@ public class CommomService { outSrc = EMRRECORDJSP + File.separator + root + "/jiashi/tifToJpgLoad/" + format1 + ".jpg"; } else { srcPath = srcPath.replaceAll("\\\\","/"); - //截取字符串为磁盘路径 - int thirdBackslashIndex = srcPath.indexOf('/', srcPath.indexOf('/', srcPath.indexOf('/') + 1) + 1); - if (thirdBackslashIndex != -1) { - srcPath = srcPath.substring(thirdBackslashIndex+1); + if(srcPath.startsWith("/")){ + //截取字符串为磁盘路径 + int thirdBackslashIndex = srcPath.indexOf('/', srcPath.indexOf('/', srcPath.indexOf('/') + 1) + 1); + if (thirdBackslashIndex != -1) { + srcPath = srcPath.substring(thirdBackslashIndex+1); + } + //将原图片地址转换成映射地址 + //获取盘符并转换映射地址的头部地址 + root = selectRootByNotWater(srcPath); + //获取盘符后面的地址 + picPath = srcPath.substring(srcPath.indexOf('/')); + outSrc = EMRRECORDJSP + File.separator + root + File.separator + picPath; + }else{ + root = selectRootByNotWater(srcPath); + //获取盘符后面的地址 + String str1 = srcPath.substring(0, srcPath.indexOf("/")); + picPath = srcPath.substring(str1.length() + 1, srcPath.length()); + outSrc = EMRRECORDJSP + File.separator + root + picPath; } - //将原图片地址转换成映射地址 - //获取盘符并转换映射地址的头部地址 - root = selectRootByNotWater(srcPath); - //获取盘符后面的地址 - picPath = srcPath.substring(srcPath.indexOf('/')); - outSrc = EMRRECORDJSP + File.separator + root + File.separator + picPath; } } outs.add(outSrc); diff --git a/src/main/java/com/emr/util/img2PdfUtil.java b/src/main/java/com/emr/util/img2PdfUtil.java index 4e8aa11..f0131cb 100644 --- a/src/main/java/com/emr/util/img2PdfUtil.java +++ b/src/main/java/com/emr/util/img2PdfUtil.java @@ -542,6 +542,8 @@ public class img2PdfUtil { ExceptionPrintUtil.printException(e); e.printStackTrace(); } finally { + System.out.println("-------------------------第一个流---------------------"+ stamper); + System.out.println("-------------------------第二个流---------------------"+ reader); if (null != stamper) { try { stamper.close();