diff --git a/README.md b/README.md
index e7c36c9..c28c2da 100644
--- a/README.md
+++ b/README.md
@@ -188,8 +188,8 @@ Core版:`本地`,`阿里OSS`,`又拍USS`,`七牛KODO`,`腾讯COS`,`网易NOS`,
### 反馈交流
**如果你遇到BUG欢迎反馈**
-
-欢迎加入Hellohao开发者交流群,群聊号码:**864800972**
+- 前往论坛发帖反馈、求助:[Hellohao开发者交流论坛](http://bbs.hellohao.cn)
+- 也可加QQ群探讨(目前已满):864800972
### 捐赠开发者
diff --git a/pom.xml b/pom.xml
index e417fbc..12f535e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,11 +90,11 @@
spring-boot-starter-validation
-
- commons-logging
- commons-logging
- 1.2
-
+
+
+
+
+
com.github.pagehelper
pagehelper-spring-boot-starter
@@ -120,7 +120,11 @@
pebble
3.1.5
-
+
+ com.amazonaws
+ aws-java-sdk-s3
+ 1.12.334
+
org.springframework.boot
spring-boot-starter-mail
diff --git a/src/main/java/cn/hellohao/controller/AdminRootController.java b/src/main/java/cn/hellohao/controller/AdminRootController.java
index 6ec871e..b54d0c1 100644
--- a/src/main/java/cn/hellohao/controller/AdminRootController.java
+++ b/src/main/java/cn/hellohao/controller/AdminRootController.java
@@ -196,7 +196,7 @@ public class AdminRootController {
} else if (key.getStorageType() == 7) {
ret = FtpServiceImpl.Initialize(key);
} else if (key.getStorageType() == 8) {
- ret = UFileImageupload.Initialize(key);
+ ret = S3Imageupload.Initialize(key);
}
Long l = imgService.getsourcememory(keyId);
jsonObject.put("isok", ret);
diff --git a/src/main/java/cn/hellohao/quartz/job/FirstJob.java b/src/main/java/cn/hellohao/quartz/job/FirstJob.java
index f06e116..113210c 100644
--- a/src/main/java/cn/hellohao/quartz/job/FirstJob.java
+++ b/src/main/java/cn/hellohao/quartz/job/FirstJob.java
@@ -32,7 +32,7 @@ public class FirstJob {
@Autowired
private USSImageupload ussImageupload;
@Autowired
- private UFileImageupload uFileImageupload;
+ private S3Imageupload s3Imageupload;
@Autowired
private FtpServiceImpl ftpService;
@Autowired
@@ -77,7 +77,7 @@ public class FirstJob {
}else if(keys.getStorageType()==7){
firstJob.ftpService.delFTP(keys.getId(), images);
}else if(keys.getStorageType()==8){
- firstJob.uFileImageupload.delUFile(keys.getId(), images);
+ firstJob.s3Imageupload.deleS3(keys.getId(), images);
}else{
System.err.println("未获取到对象存储参数,上传失败。");
}
diff --git a/src/main/java/cn/hellohao/service/impl/InitializationStorage.java b/src/main/java/cn/hellohao/service/impl/InitializationStorage.java
index a040b07..506c703 100644
--- a/src/main/java/cn/hellohao/service/impl/InitializationStorage.java
+++ b/src/main/java/cn/hellohao/service/impl/InitializationStorage.java
@@ -30,7 +30,7 @@ public class InitializationStorage implements CommandLineRunner {
private KeysMapper keysMapper;
@Override
- public void run(String... args) throws Exception {
+ public void run(String... args) {
SubjectFilter.WEBHOST = allowedOrigins;
String name = ManagementFactory.getRuntimeMXBean().getName();
String pid = name.split("@")[0];
@@ -41,21 +41,20 @@ public class InitializationStorage implements CommandLineRunner {
List keylist = keysMapper.getKeys();
for (Keys key : keylist) {
if(key.getStorageType()!=0 && key.getStorageType()!=null){
- int ret =0;
if(key.getStorageType()==1){
- ret =NOSImageupload.Initialize(key);
+ NOSImageupload.Initialize(key);
}else if (key.getStorageType()==2){
- ret =OSSImageupload.Initialize(key);
+ OSSImageupload.Initialize(key);
}else if(key.getStorageType()==3){
- ret = USSImageupload.Initialize(key);
+ USSImageupload.Initialize(key);
}else if(key.getStorageType()==4){
- ret = KODOImageupload.Initialize(key);
+ KODOImageupload.Initialize(key);
}else if(key.getStorageType()==6){
- ret = COSImageupload.Initialize(key);
+ COSImageupload.Initialize(key);
}else if(key.getStorageType()==7){
- ret = FtpServiceImpl.Initialize(key);
+ FtpServiceImpl.Initialize(key);
}else if(key.getStorageType()==8){
- ret = UFileImageupload.Initialize(key);
+ S3Imageupload.Initialize(key);
}
}
}
diff --git a/src/main/java/cn/hellohao/service/impl/KeysServiceImpl.java b/src/main/java/cn/hellohao/service/impl/KeysServiceImpl.java
index 95c1f6c..3a1fdc7 100644
--- a/src/main/java/cn/hellohao/service/impl/KeysServiceImpl.java
+++ b/src/main/java/cn/hellohao/service/impl/KeysServiceImpl.java
@@ -16,7 +16,6 @@ public class KeysServiceImpl implements KeysService {
@Autowired
private KeysMapper keysMapper;
-
@Autowired
private NOSImageupload nOSImageupload;
@Autowired
@@ -30,7 +29,7 @@ public class KeysServiceImpl implements KeysService {
@Autowired
private FtpServiceImpl ftpService;
@Autowired
- private UFileImageupload uFileImageupload;
+ private S3Imageupload s3Imageupload;
@Override
@@ -67,7 +66,7 @@ public class KeysServiceImpl implements KeysService {
}else if(key.getStorageType()==7){
ret = ftpService.Initialize(key);
}else if(key.getStorageType()==8){
- ret = uFileImageupload.Initialize(key);
+ ret = s3Imageupload.Initialize(key);
}else{
Print.Normal("为获取到存储参数,或者使用存储源是本地的。");
}
diff --git a/src/main/java/cn/hellohao/service/impl/S3Imageupload.java b/src/main/java/cn/hellohao/service/impl/S3Imageupload.java
new file mode 100644
index 0000000..8d0103c
--- /dev/null
+++ b/src/main/java/cn/hellohao/service/impl/S3Imageupload.java
@@ -0,0 +1,167 @@
+package cn.hellohao.service.impl;
+
+import cn.hellohao.pojo.Images;
+import cn.hellohao.pojo.Keys;
+import cn.hellohao.pojo.ReturnImage;
+import com.amazonaws.ClientConfiguration;
+import com.amazonaws.auth.AWSCredentials;
+import com.amazonaws.auth.AWSCredentialsProvider;
+import com.amazonaws.auth.AWSStaticCredentialsProvider;
+import com.amazonaws.auth.BasicAWSCredentials;
+import com.amazonaws.client.builder.AwsClientBuilder;
+import com.amazonaws.services.s3.AmazonS3;
+import com.amazonaws.services.s3.AmazonS3Client;
+import com.amazonaws.services.s3.AmazonS3ClientBuilder;
+import com.amazonaws.services.s3.model.Bucket;
+import com.amazonaws.services.s3.model.DeleteObjectRequest;
+import com.amazonaws.services.s3.model.ObjectListing;
+import com.amazonaws.services.s3.model.PutObjectRequest;
+import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author Hellohao
+ * @version 1.0
+ * @date 2023/3/15 14:04
+ */
+@Service
+public class S3Imageupload {
+ private static Logger logger = LoggerFactory.getLogger(S3Imageupload.class);
+
+ static AmazonS3 AS3;
+ static Keys KEY;
+ public ReturnImage ImageuploadS3(
+ Map