From 11b0fc7e7ad969dd31dfee7817d0baef8a475e33 Mon Sep 17 00:00:00 2001
From: yjz <3131811435@qq.com>
Date: Sat, 2 Mar 2024 13:24:52 +0800
Subject: [PATCH] =?UTF-8?q?fix(asms):=20=E6=88=AA=E5=8F=96=E9=97=AE?=
=?UTF-8?q?=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../impl/LawsAsmsOpenApiServiceImpl.java | 10 ++++
.../impl/SynchronizationAsmsService.java | 57 ++++++++++++-------
2 files changed, 48 insertions(+), 19 deletions(-)
diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java
index a17eb2fe..e3ae18eb 100644
--- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java
+++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/LawsAsmsOpenApiServiceImpl.java
@@ -856,6 +856,16 @@ public class LawsAsmsOpenApiServiceImpl extends ServiceImpl");
+ }catch (Exception e2){
+ endIndex = imageUrl.indexOf("\" >");
+ }
+ }
String urlSuffix = imageUrl.substring(imageUrl.indexOf("getImg"),
imageUrl.indexOf("\" alt"));
String url = asmsPostUtil.getHost() + urlSuffix;
diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/SynchronizationAsmsService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/SynchronizationAsmsService.java
index d9c6217f..2fcc4852 100644
--- a/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/SynchronizationAsmsService.java
+++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/asms/service/impl/SynchronizationAsmsService.java
@@ -598,26 +598,45 @@ public class SynchronizationAsmsService {
stringBuilder.append("
").append(articleContent).append("
");
articleContent = stringBuilder.toString();
}else {
- String urlSuffix = articleContent.substring(articleContent.indexOf("getImg"),
- articleContent.indexOf("\" alt"));
- String imageUrl = asmsPostUtil.getHost() + urlSuffix;
- String fileName = imageUrl.substring(imageUrl.lastIndexOf("/") + 1);
- // 获取图片
- HttpHeaders headers = new HttpHeaders();
- headers.set(HttpHeaders.USER_AGENT, "Mozilla/5.0");
- headers.set(HttpHeaders.ACCEPT, MediaType.ALL_VALUE);
- HttpEntity entity = new HttpEntity<>(headers);
- ResponseEntity responseEntity = restTemplate.exchange(imageUrl, HttpMethod.GET, entity, byte[].class);
- if (HttpStatus.OK == responseEntity.getStatusCode()) {
- byte[] imageBytes = responseEntity.getBody();
- MultipartFile file = new MockMultipartFile(fileName, fileName, "application/octet-stream", imageBytes);
- // 上传图片
- OSSFile oSSFile = ossFileService.uploadLocalForSplit(file, "", "", "");
- StringBuilder stringBuilder = new StringBuilder();
- stringBuilder.append("").append("
").append("
");
- articleContent = stringBuilder.toString();
+ // 定义正则表达式匹配 img 标签及其属性值
+ Pattern pattern = Pattern.compile("(<\\s*img[^>]*>)");
+ Matcher matcher = pattern.matcher(articleContent);
+
+ while (matcher.find()) {
+ String imageUrl = matcher.group(1);
+ int endIndex = 0;
+ try {
+ endIndex = imageUrl.indexOf("\" alt");
+ }catch (Exception e){
+ try {
+ endIndex = imageUrl.indexOf("\" />");
+ }catch (Exception e2){
+ endIndex = imageUrl.indexOf("\" >");
+ }
+ }
+ String urlSuffix = imageUrl.substring(imageUrl.indexOf("getImg"),
+ endIndex);
+ String url = asmsPostUtil.getHost() + urlSuffix;
+ String fileName = url.substring(url.lastIndexOf("/") + 1);
+ // 获取图片
+ HttpHeaders headers = new HttpHeaders();
+ headers.set(HttpHeaders.USER_AGENT, "Mozilla/5.0");
+ headers.set(HttpHeaders.ACCEPT, MediaType.ALL_VALUE);
+ HttpEntity entity = new HttpEntity<>(headers);
+ ResponseEntity responseEntity = restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
+ if (HttpStatus.OK == responseEntity.getStatusCode()) {
+ byte[] imageBytes = responseEntity.getBody();
+ MultipartFile file = new MockMultipartFile(fileName, fileName,"application/octet-stream" ,imageBytes);
+ // 上传图片
+ OSSFile oSSFile = ossFileService.uploadLocalForSplit(file, "", "", "");
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("
");
+ // 在此处进行替换操作,将图片链接替换为新的地址或者删除该图片标签等
+ articleContent = articleContent.replaceAll(imageUrl,stringBuilder.toString());
+ }
}
+
}
}
return articleContent;