From e2ea085317f7e2fcb426d0ff5e67c7384d8720c7 Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Thu, 25 May 2023 17:53:53 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8DBug=E3=80=9069857?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 报告里只有xls文件,下载后压缩包名称应该不变化,只是打开是空的。 --- .../report/controller/ReportManageConroller.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java index fe6358e..35f3542 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java +++ b/adc-da-report/src/main/java/com/adc/da/report/controller/ReportManageConroller.java @@ -433,9 +433,11 @@ public class ReportManageConroller { } } - response.setContentType("application/x-download"); //待下载的文件id List List downLoadFileIds; + String reportName = reportDao.selectById(reportId).getName() + ".zip"; + // 获取编码后的文件名 + String encodedZipName = URLEncoder.encode(reportName, "UTF-8"); //判断是从列表页面下载 还是预览页面下载 if (CollectionUtils.isEmpty(fileIdList)) { @@ -447,7 +449,11 @@ public class ReportManageConroller { try { // 设置响应头信息 response.setContentType("application/zip"); - response.setHeader("Content-Disposition", "attachment; filename=" + zipFileName); + response.setHeader("Content-Disposition", "attachment; filename=" + encodedZipName); + response.setHeader("Content-Transfer-Encoding", "binary"); + response.setHeader("Pragma", "public"); + response.setHeader("Cache-Control", "no-store"); + response.setHeader("Expires", "0"); // 创建空的ZipOutputStream ZipOutputStream zipOutputStream = new ZipOutputStream(response.getOutputStream()); @@ -507,12 +513,9 @@ public class ReportManageConroller { } } else { List filePaths = new ArrayList<>(); - String reportName = reportDao.selectById(reportId).getName() + ".zip"; - // 获取编码后的文件名 - String encodedFileName = URLEncoder.encode(reportName, "UTF-8"); // 设置响应头信息 response.setContentType("application/zip"); - response.setHeader("Content-Disposition", "attachment; filename=" + encodedFileName); + response.setHeader("Content-Disposition", "attachment; filename=" + encodedZipName); response.setHeader("Content-Transfer-Encoding", "binary"); response.setHeader("Pragma", "public"); response.setHeader("Cache-Control", "no-store");