Jelajahi Sumber

优化:服务器无法通过外网访问本地下载时,使用内网IP下载

陈精华 5 tahun lalu
induk
melakukan
506a3ba2b3

+ 1 - 0
jodconverter-web/src/main/config/application.properties

@@ -1,5 +1,6 @@
 #######################################不可动态配置,需要重启生效#######################################
 server.port = ${KK_SERVER_PORT:8012}
+server.context-path = ${KK_CONTEXT_PATH:/}
 spring.http.encoding.charset = utf8
 ## Freemarker 配置
 spring.freemarker.template-loader-path = classpath:/web/

+ 7 - 4
jodconverter-web/src/main/java/cn/keking/filters/ChinesePathFilter.java

@@ -23,6 +23,11 @@ public class ChinesePathFilter implements Filter {
         request.setCharacterEncoding("UTF-8");
         response.setCharacterEncoding("UTF-8");
         String baseUrl;
+        String localBaseUrl;
+        StringBuilder pathBuilder = new StringBuilder();
+        pathBuilder.append(request.getScheme()).append("://").append(request.getServerName()).append(":")
+                .append(request.getServerPort()).append(((HttpServletRequest) request).getContextPath()).append("/");
+        localBaseUrl = pathBuilder.toString();
         String baseUrlTmp = ConfigConstants.getBaseUrl();
         if (baseUrlTmp != null && !ConfigRefreshComponent.DEFAULT_BASE_URL.equals(baseUrlTmp.toLowerCase())) {
             if (!baseUrlTmp.endsWith("/")) {
@@ -30,12 +35,10 @@ public class ChinesePathFilter implements Filter {
             }
             baseUrl = baseUrlTmp;
         } else {
-            StringBuilder pathBuilder = new StringBuilder();
-            pathBuilder.append(request.getScheme()).append("://").append(request.getServerName()).append(":")
-                    .append(request.getServerPort()).append(((HttpServletRequest) request).getContextPath()).append("/");
-            baseUrl = pathBuilder.toString();
+            baseUrl = localBaseUrl;
         }
         request.setAttribute("baseUrl", baseUrl);
+        request.setAttribute("localBaseUrl", localBaseUrl);
         chain.doFilter(request, response);
     }
 

+ 1 - 1
jodconverter-web/src/main/resources/web/index.ftl

@@ -187,7 +187,7 @@ window.open('http://127.0.0.1:8012/picturesPreview?urls='+encodeURIComponent(fil
         }).on('pre-body.bs.table', function (e,data) {
             // 每个data添加一列用来操作
             $(data).each(function (index, item) {
-                item.action = "<a class='btn btn-default' target='_blank' href='${baseUrl}onlinePreview?url="+ encodeURIComponent('${baseUrl}' + item.fileName ) +"'>预览</a>" +
+                item.action = "<a class='btn btn-default' target='_blank' href='${baseUrl}onlinePreview?url="+ encodeURIComponent('${localBaseUrl}' + item.fileName ) +"'>预览</a>" +
                     "<a class='btn btn-default' href='javascript:void(0);' onclick='deleteFile(\""+item.fileName+"\")'>删除</a>";
             });
             return data;