From 3360f9685193c9c9a5a4fbe2a23c77459e61cde6 Mon Sep 17 00:00:00 2001 From: zhangqinbin <181961702@qq.com> Date: Thu, 16 Nov 2023 17:18:19 +0800 Subject: [PATCH] =?UTF-8?q?wps=E4=BF=9D=E5=AD=98=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ebtp/extend/wps/controller/WpsController.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/chinaunicom/mall/ebtp/extend/wps/controller/WpsController.java b/src/main/java/com/chinaunicom/mall/ebtp/extend/wps/controller/WpsController.java index cad81e9..b92876c 100644 --- a/src/main/java/com/chinaunicom/mall/ebtp/extend/wps/controller/WpsController.java +++ b/src/main/java/com/chinaunicom/mall/ebtp/extend/wps/controller/WpsController.java @@ -35,6 +35,7 @@ import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -198,7 +199,7 @@ public class WpsController { */ @ApiOperation("(金山)沃文档回调-查询文档") @GetMapping("/kingSoft/file2") - public boolean getKSFile2(HttpServletRequest request,HttpServletResponse response, @RequestParam("key") String key) { + public boolean getKSFile2(HttpServletRequest request,HttpServletResponse response, @RequestParam("key") String key) { String fileId = this.wpsService.downloadDecrypt(key); List businessIdList = new ArrayList<>(); @@ -213,12 +214,13 @@ public class WpsController { Optional optional1 = attachmentClient.downloadFileByObjectId(entityList.get(0).getId()); - // 设置响应的头信息,告诉浏览器文件的大小和下载方式 - response.setCharacterEncoding("UTF-8"); - response.setHeader("Content-Length", String.valueOf(optional1.get().length)); - response.setHeader("Content-Disposition", "attachment; filename=\"" + ""+entityList.get(0).getFilename() + "\""); try{ + // 设置响应的头信息,告诉浏览器文件的大小和下载方式 + response.setCharacterEncoding("UTF-8"); + response.setHeader("Content-Length", String.valueOf(optional1.get().length)); + response.setHeader("Content-Disposition", "attachment; filename=".concat(new String(entityList.get(0).getFilename().getBytes(StandardCharsets.UTF_8), "ISO8859-1"))); + InputStream word = new ByteArrayInputStream(optional1.get()); // 创建输入输出流 BufferedInputStream inStream = new BufferedInputStream(word); @@ -234,6 +236,9 @@ public class WpsController { // 关闭输入输出流 inStream.close(); outStream.close(); + }catch (UnsupportedEncodingException ue){ + log.error("转码失败",ue); + WpsExceptionEnum.FRAME_EXCEPTION_NO.customValidName("转码失败", true); }catch (Exception e){ log.error("下载失败",e); WpsExceptionEnum.FRAME_EXCEPTION_NO.customValidName("下载失败", true);