From 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期五, 23 二月 2024 12:19:55 +0800 Subject: [PATCH] 修改 --- zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-) diff --git a/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java b/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java index 2a4854c..8137a9e 100644 --- a/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java +++ b/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java @@ -8,6 +8,8 @@ package com.zt.modules.oss.cloud; +import com.aspose.words.Document; +import com.aspose.words.SaveFormat; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.spire.xls.Workbook; import com.zt.common.exception.ErrorCode; @@ -27,6 +29,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; /** * 鏈湴涓婁紶 @@ -151,7 +154,17 @@ documentBytes = outputStream.toByteArray(); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); } - if (filename.endsWith(".doc") || filename.endsWith(".docx") || filename.endsWith(".xlsx")) { + + if (filename.endsWith(".doc")) { + // 浣跨敤 Aspose.Words 杩涜鏂囨。杞崲 + Document doc = new Document(in); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + doc.save(outputStream, SaveFormat.DOCX); + + documentBytes = outputStream.toByteArray(); + headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); + headers.setContentDispositionFormData("attachment", filename.replace(".doc", ".docx")); + } else if (filename.endsWith(".docx") || filename.endsWith(".xlsx")) { documentBytes = FileCopyUtils.copyToByteArray(in); headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", filename); @@ -237,7 +250,6 @@ is.close(); out.flush(); out.close(); - } } } -- Gitblit v1.9.1