From 261912d3830c6f229733fe82acda02c28622eb41 Mon Sep 17 00:00:00 2001 From: zzs Date: Thu, 20 Feb 2025 17:25:57 +0800 Subject: [PATCH] :tada: --- .../CollaboraOnlineApplication.java | 2 -- .../controller/WopiController.java | 19 ++++++++----------- .../collaboraonline/service/FileService.java | 4 ++-- src/main/resources/application.yaml | 13 ++++++++++++- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/main/java/vin/vio/collaboraonline/CollaboraOnlineApplication.java b/src/main/java/vin/vio/collaboraonline/CollaboraOnlineApplication.java index 67bd84c..7fe0ac7 100644 --- a/src/main/java/vin/vio/collaboraonline/CollaboraOnlineApplication.java +++ b/src/main/java/vin/vio/collaboraonline/CollaboraOnlineApplication.java @@ -2,8 +2,6 @@ package vin.vio.collaboraonline; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.context.annotation.Bean; -import org.springframework.web.filter.CommonsRequestLoggingFilter; @SpringBootApplication public class CollaboraOnlineApplication { diff --git a/src/main/java/vin/vio/collaboraonline/controller/WopiController.java b/src/main/java/vin/vio/collaboraonline/controller/WopiController.java index 0e2820d..835316e 100644 --- a/src/main/java/vin/vio/collaboraonline/controller/WopiController.java +++ b/src/main/java/vin/vio/collaboraonline/controller/WopiController.java @@ -2,6 +2,7 @@ package vin.vio.collaboraonline.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.core.io.Resource; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; @@ -10,16 +11,9 @@ import org.springframework.web.bind.annotation.*; import vin.vio.collaboraonline.model.WopiFile; import vin.vio.collaboraonline.service.FileService; -import java.io.IOException; import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; -import java.time.Instant; -import java.time.format.DateTimeFormatter; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.Map; -import java.util.Optional; /** * @Description: TODO @@ -35,6 +29,9 @@ public class WopiController { @Autowired private FileService fileService; + @Value("${collabora.host-server-addr}") + private String host; + // 检查文件信息 @GetMapping("/files/{fileId}") public ResponseEntity checkFileInfo(@PathVariable String fileId) { @@ -98,13 +95,13 @@ public class WopiController { response.put("DisableCopy", false); // 添加必要协议字段 - response.put("HostEditUrl", "http://192.168.3.104:8080/wopi/files/"+file.getFileName()); - response.put("PostMessageOrigin", "http://192.168.3.104:8080"); // 本地测试用 + response.put("HostEditUrl", host + "/wopi/files/"+file.getFileName()); + response.put("PostMessageOrigin", host); // 本地测试用 // 测试环境特殊配置 response.put("BreadcrumbBrandName", "DEV ENV"); - response.put("BreadcrumbBrandUrl", "http://192.168.3.104:8080"); - response.put("BreadcrumbDocName", "[测试模式] "+file.getFileName()); + response.put("BreadcrumbBrandUrl", host); + response.put("BreadcrumbDocName", file.getFileName()); // 绕过版本检查 // response.put("LastModifiedTime", "2020-01-01T00:00:00Z"); diff --git a/src/main/java/vin/vio/collaboraonline/service/FileService.java b/src/main/java/vin/vio/collaboraonline/service/FileService.java index dce7a9d..bb5145d 100644 --- a/src/main/java/vin/vio/collaboraonline/service/FileService.java +++ b/src/main/java/vin/vio/collaboraonline/service/FileService.java @@ -27,8 +27,8 @@ import java.nio.file.*; public class FileService { - private static final String BASE_DIR = "E:\\Code\\CollaboraOnline\\files"; - + @Value("${collabora.file-storage-path}") + private String BASE_DIR; public WopiFile getFileInfo(String fileId) { Path filePath = Paths.get(BASE_DIR, fileId); diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index 6f5f7a7..1649e15 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,3 +1,14 @@ spring: application: - name: CollaboraOnline \ No newline at end of file + name: CollaboraOnline + +collabora: + # 本机局域网ip,注意 CollaboraOnline容器需要访问该地址,,最后不要加/ + host-server-addr: http://192.168.3.104:8080 + + # 文件保存路径 + file-storage-path: E:\Code\CollaboraOnline\files + +# http://192.168.3.211:9980/browser/dist/cool.html?WOPISrc=http://192.168.3.104:8080/wopi/files/test.docx&lang=zh-cn + +# http://:<端口>/browser/dist/cool.html?WOPISrc=http://<本机IP>:<服务端口>/wopi/files/<文件名>&lang=zh-cn \ No newline at end of file