From 95ef76d6440a5363c0b7981b1333f82f9345322d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 07 Jul 2022 15:15:56 +0800
Subject: [PATCH] fix template upload
---
src/main/java/com/xcong/farmer/cms/core/template/Configuration.java | 17 ++++++++++-------
src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java | 9 +++++----
src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java | 4 ++--
src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java | 9 +++++++++
src/main/resources/application-test.yml | 10 +++++-----
src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java | 2 +-
src/main/resources/application.yml | 4 ++--
7 files changed, 34 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java b/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java
index 1e7697f..8b5873f 100644
--- a/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java
+++ b/src/main/java/com/xcong/farmer/cms/configurations/CmsConfig.java
@@ -23,7 +23,7 @@
@Bean
public TemplateConfiguration templateConfiguration() {
log.info("CMS管理系统");
- TemplateConfiguration cfg = new TemplateConfiguration(cmsProperties.getTemplatePath(), cmsProperties.getStaticPath(), cmsProperties.getOutputPath());
+ TemplateConfiguration cfg = new TemplateConfiguration(cmsProperties.getTemplatePath(), cmsProperties.getStaticPath(), cmsProperties.getOutputPath(), cmsProperties.getBaseUrl(), cmsProperties.getStaticUrl());
TemplateLoader loader = new TemplateLoader(cfg);
cfg.templateLoader(loader);
return cfg;
diff --git a/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java b/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
index b11eae9..38c8fcc 100644
--- a/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
+++ b/src/main/java/com/xcong/farmer/cms/core/node/AttrNode.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.xcong.farmer.cms.core.handler.DataParserHandler;
import com.xcong.farmer.cms.core.tag.TagsEnum;
@@ -77,6 +78,14 @@
}
this.element.empty();
+
+ // 设置img的链接访问
+ if ("img".equals(this.element.tagName())) {
+ String src = this.element.attr("src");
+ if (StrUtil.isNotBlank(STATIC_URL)) {
+ this.element.attr("src", STATIC_URL + src);
+ }
+ }
Attributes attributes = this.element.attributes();
if (attributes.isEmpty()) {
return;
diff --git a/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java b/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java
index f2c97b0..897392b 100644
--- a/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java
+++ b/src/main/java/com/xcong/farmer/cms/core/template/Configuration.java
@@ -6,17 +6,20 @@
public abstract class Configuration {
- public String staticPath;
- public String templatePath;
- public String outputPath;
+ protected static String BASE_URL;
+ protected static String STATIC_URL;
+ protected static String staticPath;
+ protected static String templatePath;
+ protected static String outputPath;
public Configuration() {
}
- public Configuration(String templatePath, String staticPath, String outputPath) {
- this.staticPath = staticPath;
- this.templatePath = templatePath;
- this.outputPath = outputPath;
+ public Configuration(String templatePath, String staticPath, String outputPath, String baseUrl, String staticUrl) {
+ Configuration.staticPath = staticPath;
+ Configuration.templatePath = templatePath;
+ Configuration.outputPath = outputPath;
+ Configuration.BASE_URL = baseUrl;
}
public static Map<String, String> templateCode = new HashMap<>();
diff --git a/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java b/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java
index b3f748a..dba37a4 100644
--- a/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java
+++ b/src/main/java/com/xcong/farmer/cms/core/template/TemplateConfiguration.java
@@ -18,8 +18,8 @@
private TemplateLoader templateLoader;
- public TemplateConfiguration(String templatePath, String staticPath, String outputPath) {
- super(templatePath, staticPath, outputPath);
+ public TemplateConfiguration(String templatePath, String staticPath, String outputPath, String baseUrl, String staticUrl) {
+ super(templatePath, staticPath, outputPath, baseUrl, staticUrl);
}
public void templateLoader(TemplateLoader templateLoader) {
diff --git a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java
index e21b47d..58c80e2 100644
--- a/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java
+++ b/src/main/java/com/xcong/farmer/cms/modules/system/service/Impl/CmsTemplateServiceImpl.java
@@ -45,14 +45,14 @@
public class CmsTemplateServiceImpl extends ServiceImpl<CmsTemplateMapper, CmsTemplateEntity> implements ICmsTemplateService {
@Autowired
- private TemplateConfiguration cfg;
+ private CmsProperties properties;
private List<String> fileSuffix = Arrays.asList(".zip", ".html");
@Override
public void updateTemplate(MultipartFile upload) {
- String templatePath = cfg.templatePath;
- String staticPath = cfg.staticPath;
+ String templatePath = properties.getTemplatePath();
+ String staticPath = properties.getStaticPath();
String filename = upload.getOriginalFilename();
String suffix = filename.substring(filename.lastIndexOf("."));
@@ -78,6 +78,7 @@
for (File templateFile : files) {
if (!templateFile.isFile()) {
+ FileUtil.move(templateFile, new File(FileUtils.path(staticPath, templateFile.getName())), true);
continue;
}
@@ -86,7 +87,7 @@
}
String name = templateFile.getName();
- if (!name.endsWith(".list.html") && !name.endsWith(".article.html") && !name.endsWith(".index.html")) {
+ if (!name.endsWith(".list.html") && !name.endsWith(".article.html") && !name.endsWith("index.html")) {
continue;
}
diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml
index 02efd62..82cd886 100644
--- a/src/main/resources/application-test.yml
+++ b/src/main/resources/application-test.yml
@@ -93,9 +93,9 @@
path: /home/javaweb/webresource/uploadeFile/image/
cms:
- base-url: http://localhost
- static-url: http://localhost
- template-path: /Users/helius/Desktop/template
- static-path:
- output-path: /Users/helius/Desktop/web/output
+ base-url: http://120.27.238.55:8000/cms/output
+ static-url: http://120.27.238.55:8000/cms/static
+ template-path: /home/javaweb/webresource/cms/template
+ static-path: /home/javaweb/webresource/cms/static
+ output-path: /home/javaweb/webresource/cms/output
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index f9fee05..e2ebc6d 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -99,7 +99,7 @@
cms:
base-url: http://localhost
static-url: http://localhost
- template-path: /Users/helius/Desktop/template
- static-path:
+ template-path: /Users/helius/Desktop/template/upload
+ static-path: /Users/helius/Desktop/static
output-path: /Users/helius/Desktop/web/output
--
Gitblit v1.9.1