diff --git a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java index d692298..b86759b 100644 --- a/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java +++ b/service/src/main/java/com/electromagnetic/industry/software/data/manage/service/facade/EDDataFacadeImpl.java @@ -1,5 +1,6 @@ package com.electromagnetic.industry.software.data.manage.service.facade; +import cn.hutool.core.codec.Base64; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.Assert; @@ -186,28 +187,20 @@ public class EDDataFacadeImpl implements EDDataFacade { String filePath = storageFilePath + "/" + filePathOfFolder + "/" + edDataInfo.getDataName(); Assert.isTrue(FileUtil.exist(filePath), "下载文件不存在。"); - File file = new File(filePath); - FileSystemResource fileSystemResource = new FileSystemResource(file); + FileSystemResource fileSystemResource = new FileSystemResource(filePath); HttpHeaders headers = new HttpHeaders(); headers.add("Cache-Control", "no-cache, no-store, must-revalidate"); - String fileName = fileSystemResource.getFilename(); - byte[] fileNameBytes = fileName.getBytes(StandardCharsets.UTF_8); - fileName = new String(fileNameBytes, 0, fileNameBytes.length, StandardCharsets.ISO_8859_1); - String attachment = StrFormatter.format("attachment;filename={}", fileName); - //headers.add("Content-Disposition", attachment); -// headers.set("attachment", fileName); headers.add("Pragma", "no-cache"); headers.add("Expires", "0"); - response.setHeader("content-disposition","attachment;filename=" + URLEncoder.encode(fileName,"UTF-8")); -// response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(fileSystemResource.getFilename().getBytes("UTF-8"), "ISO8859-1")); + String fileName = Base64.encode(fileSystemResource.getFilename()); + response.setHeader("content-disposition","attachment;filename=" + fileName); // 构建响应实体(可以返回