From 206938b8d08f3be8d54cd155a764b6cc7c5a855f Mon Sep 17 00:00:00 2001 From: Mzaxd Date: Fri, 26 May 2023 10:41:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8DBug=E3=80=9069865?= =?UTF-8?q?=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 报告管理-上传了ppt或PPT文件后,该文件无法预览 --- .../da/report/service/impl/IReportServiceImpl.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java index 255a4bb..0cab472 100644 --- a/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java +++ b/adc-da-report/src/main/java/com/adc/da/report/service/impl/IReportServiceImpl.java @@ -37,6 +37,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.poifs.filesystem.OfficeXmlFileException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; @@ -45,6 +46,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; @@ -429,7 +431,7 @@ public class IReportServiceImpl extends ServiceImpl @Override public String reportHtml(String reportId, String fileId) { try { - String key = reportId + fileId; + String key = reportId + "-" + fileId; String html = stringRedisTemplate.boundValueOps(key).get(); //没有的话就生成 if (StrUtil.isBlank(html)) { @@ -833,7 +835,13 @@ public class IReportServiceImpl extends ServiceImpl } else if (ReportConstants.FILE_EXTENSIONS_DOCX.equalsIgnoreCase(fileEntity.getFileType())) { html = WordUtil.doc2pdf(new FileInputStream(path), uploadFile, ipAddress); } else if (ReportConstants.FILE_EXTENSIONS_PPT.equalsIgnoreCase(fileEntity.getFileType())) { - html = PptUtil.doPpt2003toImage(new FileInputStream(path), uploadFile, ipAddress); + try { + html = PptUtil.doPpt2003toImage(new FileInputStream(path), uploadFile, ipAddress); + } catch (OfficeXmlFileException e) { + String newPath = path + "x"; + cn.hutool.core.io.FileUtil.rename(new File(path), newPath, false, false); + html = PptUtil.doPpt2007toImage(new FileInputStream(newPath), uploadFile, ipAddress); + } } else if (ReportConstants.FILE_EXTENSIONS_PPTX.equalsIgnoreCase(fileEntity.getFileType())) { html = PptUtil.doPpt2007toImage(new FileInputStream(path), uploadFile, ipAddress); } else if (ReportConstants.FILE_EXTENSIONS_PDF.equalsIgnoreCase(fileEntity.getFileType())) {