From 3d679da3c302b9535677c1c83f0114049a6e6ef5 Mon Sep 17 00:00:00 2001
From: pan <380711010@qq.com>
Date: Thu, 5 Sep 2024 21:26:23 +0800
Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=96=87=E6=A1=A3=E3=80=81=E5=B7=A5?=
=?UTF-8?q?=E5=85=B7=E7=8B=AC=E7=AB=8B=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
tool-tech-admin/pom.xml | 12 +++
.../controller/common/CommonController.java | 24 ++++++
.../document/DocumentController.java | 6 +-
.../web/controller/tool/ToolController.java | 6 +-
.../com/rzdata/web/domain/Attachment.java | 4 +
.../java/com/rzdata/web/domain/Document.java | 8 +-
.../web/domain/FileOperationRequest.java | 20 +++++
.../main/java/com/rzdata/web/domain/Tool.java | 2 +
.../web/service/IAttachmentService.java | 3 +
.../service/impl/AttachmentServiceImpl.java | 74 ++++++++++++++++++-
.../web/service/impl/DocumentServiceImpl.java | 68 ++++++++++-------
.../web/service/impl/ToolServiceImpl.java | 4 +-
.../resources/mapper/AttachmentMapper.xml | 12 ++-
.../main/resources/mapper/DocumentMapper.xml | 13 +++-
.../src/main/resources/mapper/ToolMapper.xml | 6 ++
.../com/rzdata/common/constant/Constants.java | 10 +++
16 files changed, 230 insertions(+), 42 deletions(-)
create mode 100644 tool-tech-admin/src/main/java/com/rzdata/web/domain/FileOperationRequest.java
diff --git a/tool-tech-admin/pom.xml b/tool-tech-admin/pom.xml
index 6a1b9d0..3b63802 100644
--- a/tool-tech-admin/pom.xml
+++ b/tool-tech-admin/pom.xml
@@ -85,6 +85,18 @@
lombok
+
+
+ com.documents4j
+ documents4j-local
+ 1.0.3
+
+
+ com.documents4j
+ documents4j-transformer-msoffice-word
+ 1.0.3
+
+
diff --git a/tool-tech-admin/src/main/java/com/rzdata/web/controller/common/CommonController.java b/tool-tech-admin/src/main/java/com/rzdata/web/controller/common/CommonController.java
index 78a0fc5..51ca39f 100644
--- a/tool-tech-admin/src/main/java/com/rzdata/web/controller/common/CommonController.java
+++ b/tool-tech-admin/src/main/java/com/rzdata/web/controller/common/CommonController.java
@@ -7,9 +7,14 @@ import com.rzdata.common.utils.StringUtils;
import com.rzdata.common.utils.file.FileUploadUtils;
import com.rzdata.common.utils.file.FileUtils;
import com.rzdata.framework.config.ServerConfig;
+import com.rzdata.web.domain.Attachment;
+import com.rzdata.web.domain.FileOperationRequest;
+import com.rzdata.web.service.IAttachmentService;
+import com.rzdata.web.service.impl.AttachmentServiceImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
@@ -37,9 +42,13 @@ public class CommonController
@Autowired
private ServerConfig serverConfig;
+ @Autowired
+ private IAttachmentService attachmentService;
+
private static final String FILE_DELIMETER = ",";
+
/**
* 通用下载请求
*
@@ -166,6 +175,21 @@ public class CommonController
}
+
+ /**
+ * 预览下载
+ * txt、pdf、word(doc、docx格式)
+ */
+ @PostMapping("/preview/download")
+ public ResponseEntity resourceDownload(@RequestBody Attachment attachment)
+ {
+ byte[] bytes = attachmentService.loadFileAsBytes(attachment);
+ return ResponseEntity.ok()
+ .contentType(MediaType.parseMediaType("application/octet-stream"))
+ .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + attachment.getFileOldName() + "\"")
+ .body(bytes);
+ }
+
@PostMapping("/initUpload")
public ResponseEntity