From 5633eb4111c6d89744dcd31f9f397174875320cd Mon Sep 17 00:00:00 2001 From: 13540823418 Date: Thu, 25 Feb 2021 14:49:33 +0800 Subject: [PATCH] =?UTF-8?q?=201.=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E7=BB=93=E6=9E=84=E4=B9=8B=E5=90=8E=EF=BC=8C?= =?UTF-8?q?windows=E4=B8=8B=E5=90=AF=E5=8A=A8=E6=8A=A5=E9=94=99=E2=80=9C?= =?UTF-8?q?=E6=89=BE=E4=B8=8D=E5=88=B0office=E7=BB=84=E4=BB=B6=E2=80=9D=20?= =?UTF-8?q?=202.import=E4=BB=A3=E7=A0=81=E9=94=99=E8=AF=AF=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jodconverter/office/OfficeUtils.java | 4 ++-- .../jodconverter/util/ConfigUtils.java | 18 ++++++++++++++++++ .../cn/keking/web/filter/TrustHostFilter.java | 1 + 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/office-plugin/src/main/java/org/artofsolving/jodconverter/office/OfficeUtils.java b/office-plugin/src/main/java/org/artofsolving/jodconverter/office/OfficeUtils.java index b413ffec..59354546 100644 --- a/office-plugin/src/main/java/org/artofsolving/jodconverter/office/OfficeUtils.java +++ b/office-plugin/src/main/java/org/artofsolving/jodconverter/office/OfficeUtils.java @@ -81,7 +81,7 @@ public class OfficeUtils { } if (PlatformUtils.isWindows()) { // %ProgramFiles(x86)% on 64-bit machines; %ProgramFiles% on 32-bit ones - String homePath = ConfigUtils.getHomePath(); + String officePluginPath = ConfigUtils.getOfficePluginPath(); String programFiles = System.getenv("ProgramFiles(x86)"); if (programFiles == null) { programFiles = System.getenv("ProgramFiles"); @@ -89,7 +89,7 @@ public class OfficeUtils { return findOfficeHome( programFiles + File.separator + "OpenOffice 4", programFiles + File.separator + "LibreOffice 4", - homePath + File.separator + "office" + officePluginPath + File.separator + "windows-office" ); } else if (PlatformUtils.isMac()) { return findOfficeHome( diff --git a/office-plugin/src/main/java/org/artofsolving/jodconverter/util/ConfigUtils.java b/office-plugin/src/main/java/org/artofsolving/jodconverter/util/ConfigUtils.java index 2443d611..8a808808 100644 --- a/office-plugin/src/main/java/org/artofsolving/jodconverter/util/ConfigUtils.java +++ b/office-plugin/src/main/java/org/artofsolving/jodconverter/util/ConfigUtils.java @@ -9,6 +9,7 @@ import java.io.File; public class ConfigUtils { private static final String MAIN_DIRECTORY_NAME = "server"; + private static final String OFFICE_PLUGIN_NAME = "office-plugin"; public static String getHomePath() { String userDir = System.getenv("KKFILEVIEW_BIN_FOLDER"); @@ -28,6 +29,23 @@ public class ConfigUtils { return userDir; } + + public static String getOfficePluginPath() { + String userDir = System.getenv("KKFILEVIEW_BIN_FOLDER"); + if (userDir == null) { + userDir = System.getProperty("user.dir"); + } + if (userDir.endsWith("bin")) { + userDir = userDir.substring(0, userDir.length() - 4); + } else { + String separator = File.separator; + if (!userDir.contains(OFFICE_PLUGIN_NAME)) { + userDir = userDir + separator + OFFICE_PLUGIN_NAME; + } + } + return userDir; + } + public static String getCustomizedConfigPath() { String homePath = getHomePath(); String separator = java.io.File.separator; diff --git a/server/src/main/java/cn/keking/web/filter/TrustHostFilter.java b/server/src/main/java/cn/keking/web/filter/TrustHostFilter.java index 65bc564f..5d09feac 100644 --- a/server/src/main/java/cn/keking/web/filter/TrustHostFilter.java +++ b/server/src/main/java/cn/keking/web/filter/TrustHostFilter.java @@ -3,6 +3,7 @@ package cn.keking.web.filter; import cn.keking.config.ConfigConstants; import org.apache.commons.lang3.StringUtils; import org.springframework.core.io.ClassPathResource; +import org.springframework.util.Base64Utils; import org.springframework.util.FileCopyUtils; import javax.servlet.*;