jinlin
2024-02-04 4b04e7fd4fcad9af480a003509288aa6070b137e
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);