From 1de2282965d68073238a4866c4d4cd235924c2d7 Mon Sep 17 00:00:00 2001 From: linbangquan <1437892690@qq.com> Date: Wed, 13 Dec 2023 18:12:01 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BF=AE=E5=A4=8D]=20=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E7=AE=A1=E7=90=86-=E5=AF=BC=E5=87=BA=E6=B5=81=E7=A8=8B?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=EF=BC=8C=E6=8E=A7=E5=88=B6=E5=8F=B0=E6=8A=A5?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 关联 #[1045484926369792]流程管理-导出流程失败,控制台报错 http://192.168.0.96:8090/demo/rdm.html#/bug-detail/939050947543040/939050947543057/1045484926369792 --- .../module/tenant/api/importexport/ExportApi.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/neatlogic/module/tenant/api/importexport/ExportApi.java b/src/main/java/neatlogic/module/tenant/api/importexport/ExportApi.java index 8694028b..0242b3e3 100644 --- a/src/main/java/neatlogic/module/tenant/api/importexport/ExportApi.java +++ b/src/main/java/neatlogic/module/tenant/api/importexport/ExportApi.java @@ -84,14 +84,23 @@ public class ExportApi extends PrivateBinaryStreamApiComponentBase { if (!importExportHandler.checkExportAuth(primaryKey)) { throw new ExportNoAuthException(); } - response.setContentType("application/vnd.ms-excel;charset=utf-8"); + String fileName = null; + // 先检查导出对象及依赖对象有没有找不到数据,如果有就抛异常 + { + List dependencyBaseInfoList = new ArrayList<>(); + dependencyBaseInfoList.add(new ImportExportBaseInfoVo(type, primaryKey)); + ImportExportVo importExportVo = importExportHandler.exportData(primaryKey, dependencyBaseInfoList, null); + fileName = importExportHandler.getType().getText() + "-" + importExportVo.getName() + "(" + importExportVo.getPrimaryKey() + ").pak"; + } + // 上面代码检查没有异常再进行导出压缩到文件 + response.setContentType("application/vnd.ms-excel;charset=utf-8"); + fileName = FileUtil.getEncodedFileName(fileName); + response.setHeader("Content-Disposition", " attachment; filename=\"" + fileName + "\""); List dependencyBaseInfoList = new ArrayList<>(); try (ZipOutputStream zipos = new ZipOutputStream(response.getOutputStream())) { dependencyBaseInfoList.add(new ImportExportBaseInfoVo(type, primaryKey)); ImportExportVo importExportVo = importExportHandler.exportData(primaryKey, dependencyBaseInfoList, zipos); - String fileName = FileUtil.getEncodedFileName(importExportHandler.getType().getText() + "-" + importExportVo.getName() + "(" + importExportVo.getPrimaryKey() + ").pak"); - response.setHeader("Content-Disposition", " attachment; filename=\"" + fileName + "\""); dependencyBaseInfoList.remove(0); importExportVo.setDependencyBaseInfoList(dependencyBaseInfoList); zipos.putNextEntry(new ZipEntry(importExportVo.getPrimaryKey() + ".json")); -- Gitee