From 6adc120d66269bee7fc8cd5d40b0367613bc741e Mon Sep 17 00:00:00 2001 From: zhouyl <583641232@qq.com> Date: Mon, 9 Sep 2024 14:11:00 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=8A=A0=E5=AF=86=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/system/SysOssController.java | 2 +- .../web/controller/system/ToolManageController.java | 7 ++++++- .../system/service/impl/SysOssServiceImpl.java | 8 +++++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysOssController.java b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysOssController.java index e66ac6c..169822c 100644 --- a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysOssController.java +++ b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/SysOssController.java @@ -87,7 +87,7 @@ public class SysOssController extends BaseController { * * @param ossId OSS对象ID */ - @SaCheckPermission("system:oss:download") +// @SaCheckPermission("system:oss:download") @GetMapping("/download/{ossId}") public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException { iSysOssService.download(ossId,response); diff --git a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/ToolManageController.java b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/ToolManageController.java index 9da5299..320b158 100644 --- a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/ToolManageController.java +++ b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/ToolManageController.java @@ -23,6 +23,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; @@ -113,7 +114,11 @@ public class ToolManageController extends BaseController { */ @ApiEncrypt @PostMapping("/downloadTool") - public void downloadTool(@RequestBody DownloadToolRequest downloadToolRequest , HttpServletResponse response) throws IOException { + public void downloadTool(@RequestBody DownloadToolRequest downloadToolRequest , HttpServletResponse response, HttpServletRequest request) throws IOException { + String responseType = request.getHeader("responseType"); + if (StrUtil.isNotEmpty(responseType)){ + response.setHeader("response-type", responseType); + } iToolManageService.downloadByToolName(downloadToolRequest,response); } diff --git a/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java b/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java index 8c7f08b..d5cea3f 100644 --- a/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java +++ b/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java @@ -44,7 +44,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.IOException; -import java.io.InputStream; import java.util.*; import java.util.stream.Collectors; @@ -128,7 +127,8 @@ public class SysOssServiceImpl implements ISysOssService, OssService { throw new ServiceException("文件数据不存在!"); } this.downloadLocal(sysOss.getFileName(),sysOss.getOriginalName(),response,false); - /* FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName()); + + /*FileUtils.setAttachmentResponseHeader(response, sysOss.getOriginalName()); response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8"); OssClient storage = OssFactory.instance(sysOss.getService()); try(InputStream inputStream = storage.getObjectContent(sysOss.getUrl())) { @@ -140,6 +140,8 @@ public class SysOssServiceImpl implements ISysOssService, OssService { }*/ } + + @Override public void downloadWithCreateBy(Long ossId, String CreateBy, HttpServletResponse response) throws IOException { SysOssVo sysOss = baseMapper.selectVoOne(new LambdaQueryWrapper() @@ -157,8 +159,8 @@ public class SysOssServiceImpl implements ISysOssService, OssService { throw new RuntimeException(StrUtil.format("文件名称({})非法,不允许下载。 ", fileName)); } String filePath = ProjectConfig.getUploadPath() + fileName; - response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); FileUtils.setAttachmentResponseHeader(response, originalName); + response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE + "; charset=UTF-8"); if(isDecrypt){ DocumentEncryptionUtil.decryptFile4Download(filePath,response.getOutputStream()); }else {