From 2472d531f5221db0b35ed397d72e3f2981b25373 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 25 四月 2024 12:48:43 +0800 Subject: [PATCH] update 优化 替换过期工具类与优化代码用法 --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java | 25 ++++++++----------------- 1 files changed, 8 insertions(+), 17 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java index cdbfd3c..f03173e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/ActModelServiceImpl.java @@ -13,7 +13,6 @@ import org.apache.batik.transcoder.TranscoderInput; import org.apache.batik.transcoder.TranscoderOutput; import org.apache.batik.transcoder.image.PNGTranscoder; -import org.apache.commons.io.IOUtils; import org.dromara.common.core.exception.ServiceException; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -34,7 +33,10 @@ import org.flowable.bpmn.model.Process; import org.flowable.bpmn.model.UserTask; import org.flowable.engine.RepositoryService; -import org.flowable.engine.repository.*; +import org.flowable.engine.repository.Deployment; +import org.flowable.engine.repository.Model; +import org.flowable.engine.repository.ModelQuery; +import org.flowable.engine.repository.ProcessDefinition; import org.flowable.validation.ValidationError; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -46,7 +48,6 @@ import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -249,7 +250,7 @@ if (ArrayUtil.isEmpty(xmlBytes)) { throw new ServiceException("妯″瀷鏁版嵁涓虹┖锛岃鍏堣璁℃祦绋嬪畾涔夋ā鍨嬶紝鍐嶈繘琛岄儴缃诧紒"); } - if (JSONUtil.isTypeJSON(IOUtils.toString(xmlBytes, StandardCharsets.UTF_8.toString()))) { + if (JSONUtil.isTypeJSON(new String(xmlBytes, StandardCharsets.UTF_8))) { byte[] bytes = ModelUtils.bpmnJsonToXmlBytes(xmlBytes); if (ArrayUtil.isEmpty(bytes)) { throw new ServiceException("妯″瀷涓嶈兘涓虹┖锛岃鑷冲皯璁捐涓�鏉′富绾挎祦绋嬶紒"); @@ -337,9 +338,7 @@ */ @Override public void exportZip(List<String> modelIds, HttpServletResponse response) { - ZipOutputStream zos = null; - try { - zos = ZipUtil.getZipOutputStream(response.getOutputStream(), StandardCharsets.UTF_8); + try (ZipOutputStream zos = ZipUtil.getZipOutputStream(response.getOutputStream(), StandardCharsets.UTF_8)) { // 鍘嬬缉鍖呮枃浠跺悕 String zipName = "妯″瀷涓嶅瓨鍦�"; // 鏌ヨ妯″瀷鍩烘湰淇℃伅 @@ -347,7 +346,7 @@ Model model = repositoryService.getModel(modelId); byte[] xmlBytes = repositoryService.getModelEditorSource(modelId); if (ObjectUtil.isNotNull(model)) { - if (JSONUtil.isTypeJSON(IOUtils.toString(xmlBytes, StandardCharsets.UTF_8.toString())) && ArrayUtil.isEmpty(ModelUtils.bpmnJsonToXmlBytes(xmlBytes))) { + if (JSONUtil.isTypeJSON(new String(xmlBytes, StandardCharsets.UTF_8)) && ArrayUtil.isEmpty(ModelUtils.bpmnJsonToXmlBytes(xmlBytes))) { zipName = "妯″瀷涓嶈兘涓虹┖锛岃鑷冲皯璁捐涓�鏉′富绾挎祦绋嬶紒"; zos.putNextEntry(new ZipEntry(zipName + ".txt")); zos.write(zipName.getBytes(StandardCharsets.UTF_8)); @@ -367,19 +366,11 @@ } response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(zipName, StandardCharsets.UTF_8) + ".zip"); + response.addHeader("Access-Control-Expose-Headers", "Content-Disposition"); // 鍒峰嚭鍝嶅簲娴� response.flushBuffer(); } catch (IOException e) { e.printStackTrace(); - } finally { - if (zos != null) { - try { - zos.closeEntry(); - zos.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } } } -- Gitblit v1.9.3