From 4b04e7fd4fcad9af480a003509288aa6070b137e Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期日, 04 二月 2024 13:51:45 +0800
Subject: [PATCH] 修改

---
 zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 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 8a7ef02..59866a2 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,18 @@
                         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);

--
Gitblit v1.9.1