diff --git a/HomeWork-java/pom.xml b/HomeWork-java/pom.xml
index 686be2ed8f1927dd04f4b15d710b1643c69f8a74..b577699a7ec39912971b4939b6138ad230286864 100644
--- a/HomeWork-java/pom.xml
+++ b/HomeWork-java/pom.xml
@@ -263,6 +263,14 @@
+
+
+ io.minio
+ minio
+ 8.5.2
+
+
+
src
@@ -307,6 +315,10 @@
${project.build.resourceDirectory}/css
css
+
+
+
+
diff --git a/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java b/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java
index b26eb642e55b8527b360efdae8e1c72b16903ef1..01690e3911e10a61c96a6c38c71b7200cd61c49b 100644
--- a/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java
+++ b/HomeWork-java/src/com/wetoband/template/action/ToolTemplateAction.java
@@ -11,10 +11,7 @@ import com.wetoband.template.entity.Question;
import com.wetoband.template.entity.User;
import com.wetoband.template.entity.WrongQuestion;
-import com.wetoband.template.service.HomeWorkService;
-import com.wetoband.template.service.QuestionService;
-import com.wetoband.template.service.UserService;
-import com.wetoband.template.service.WrongQuestionService;
+import com.wetoband.template.service.*;
import com.wetoband.template.service.impl.HomeWorkServiceImpl;
import com.wetoband.template.service.impl.QuestionServiceImpl;
import com.wetoband.template.service.impl.UserServiceImpl;
@@ -24,6 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.sql.Connection;
@@ -47,6 +45,8 @@ public class ToolTemplateAction extends ActionToolBase {
QuestionService questionService=IOC.getBean(QuestionServiceImpl.class);
UserService userService=IOC.getBean(UserServiceImpl.class);
+ FileUploadService fileUploadService= IOC.getBean(FileUploadService.class);
+
@Action
public R get(HttpServletRequest request ) throws Exception {
@@ -118,7 +118,7 @@ public class ToolTemplateAction extends ActionToolBase {
Date submitTimeDate = sdf.parse(submitTimeStr);
String text = request.getParameter("text");
homeWorkService.submitHomework(studentId,homeworkId,submitTimeDate,text);
- return R.ok().put("data",null);
+ return R.ok().message("请求成功");
}
@@ -138,6 +138,17 @@ public class ToolTemplateAction extends ActionToolBase {
return R.ok().message("请求成功");
}
+
+ //文件上传miniIo
+ @Action
+ public R fileUploadService(@RequestParam(value = "file") MultipartFile multipartFile) {//前端要传一个名字叫 file 的参数
+ String fileUrl = fileUploadService.fileUpload(multipartFile) ;
+ return R.ok().put("data",fileUrl);//返回一个fileurl给前端
+ }
+
+
+
+
public static String runTool(String toolId, String action, Map map, String bandId) {
HashMap params = new HashMap<>();
params.put("toolID", toolId);
@@ -153,4 +164,12 @@ public class ToolTemplateAction extends ActionToolBase {
.execute().sync();
return response.body();
}
+
+
+
+
+
+
+
+
}
diff --git a/HomeWork-java/src/com/wetoband/template/aspects/LogOperateAspect.java b/HomeWork-java/src/com/wetoband/template/aspects/LogOperateAspect.java
index 09cf44c63831a970c0aa3dfe1ce320cf6c9484ff..69a4edda3b355828b79dec947be69e627f4cb9cf 100644
--- a/HomeWork-java/src/com/wetoband/template/aspects/LogOperateAspect.java
+++ b/HomeWork-java/src/com/wetoband/template/aspects/LogOperateAspect.java
@@ -39,7 +39,7 @@ public class LogOperateAspect {
*/
@Pointcut("@annotation(com.wetoband.template.annotation.LogOperate)")
// @Pointcut("execution (* com.blp.service..*.*(..))")
- public void logOperateAnnotation() {}
+
public void logOperateAnnotation(){
}
diff --git a/HomeWork-java/src/com/wetoband/template/service/FileUploadService.java b/HomeWork-java/src/com/wetoband/template/service/FileUploadService.java
new file mode 100644
index 0000000000000000000000000000000000000000..81f791fe592ae8de6e2af8db878e053b0428c6d6
--- /dev/null
+++ b/HomeWork-java/src/com/wetoband/template/service/FileUploadService.java
@@ -0,0 +1,7 @@
+package com.wetoband.template.service;
+
+import org.springframework.web.multipart.MultipartFile;
+
+public interface FileUploadService {
+ String fileUpload(MultipartFile multipartFile);
+}
diff --git a/HomeWork-java/src/com/wetoband/template/service/impl/FileUploadServiceImpl.java b/HomeWork-java/src/com/wetoband/template/service/impl/FileUploadServiceImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..6bbafaaa00e0a9959511b5a93a76c35e106e7444
--- /dev/null
+++ b/HomeWork-java/src/com/wetoband/template/service/impl/FileUploadServiceImpl.java
@@ -0,0 +1,68 @@
+package com.wetoband.template.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.wetoband.template.service.FileUploadService;
+
+import io.minio.BucketExistsArgs;
+import io.minio.MakeBucketArgs;
+import io.minio.MinioClient;
+import io.minio.PutObjectArgs;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.Date;
+import java.util.UUID;
+
+@Service
+public class FileUploadServiceImpl implements FileUploadService {
+
+ @Override
+ public String fileUpload(MultipartFile multipartFile) {
+
+ try {
+ String BucketName = "homeworktool";//存储桶名称
+
+ String endpoint = "http://8.138.182.34:9000";//文件服务器地址
+
+ //文件服务器用户名和密码
+ String accessKey = "minio-username";
+
+ String serectKey = "minio-password";
+
+ // 创建一个Minio的客户端对象
+ MinioClient minioClient = MinioClient.builder()
+ .endpoint(endpoint)//文件服务器地址
+ .credentials(accessKey,serectKey)//文件服务器用户名和密码
+ .build();
+
+ // 判断桶是否存在
+ boolean found = minioClient.bucketExists(BucketExistsArgs.builder().bucket(BucketName).build());
+ if (!found) { // 如果不存在,那么此时就创建一个新的桶
+ minioClient.makeBucket(MakeBucketArgs.builder().bucket(BucketName).build());
+ } else { // 如果存在打印信息
+ System.out.println("Bucket: "+BucketName+" already exists.");
+ }
+
+ // 设置存储对象名称,这里为了防止文件名冲突所以要加上独一无二的标识来做出区分
+ //而且还通过日期来进行文件夹的划分
+ String dateDir = DateUtil.format(new Date(), "yyyyMMdd");
+ String uuid = UUID.randomUUID().toString().replace("-", "");
+ //示例文件名:20250201/443e1e772bef482c95be28704bec58a901.jpg
+ String fileName = dateDir+"/"+uuid+multipartFile.getOriginalFilename();//这里得到最终的文件名
+ System.out.println(fileName);
+
+ PutObjectArgs putObjectArgs = PutObjectArgs.builder()
+ .bucket(BucketName)
+ .stream(multipartFile.getInputStream(), multipartFile.getSize(), -1)
+ .object(fileName)
+ .build();
+ minioClient.putObject(putObjectArgs) ;
+
+ return endpoint + "/" + BucketName + "/" + fileName ;
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
diff --git a/HomeWork-java/target/classes/config.properties b/HomeWork-java/target/classes/config.properties
index c9af6a3edf8b2c522ecc4c6bde80f9e5c5964f74..bb52fb7284bcce4d897f40f21c075d33e4969552 100644
--- a/HomeWork-java/target/classes/config.properties
+++ b/HomeWork-java/target/classes/config.properties
@@ -36,4 +36,10 @@ MONGODB_PASSWORD=root
SWAP_VALUE_MAX_SIZE=0
SWAP_VALUE_SERVER_PORT=6666
GET_SWAP_VALUE_IP=192.168.10.254
-GET_SWAP_VALUE_PORT=6666
\ No newline at end of file
+GET_SWAP_VALUE_PORT=6666
+
+
+
+
+
+
diff --git a/HomeWork-java/tempResources/config.properties b/HomeWork-java/tempResources/config.properties
index c9af6a3edf8b2c522ecc4c6bde80f9e5c5964f74..bb52fb7284bcce4d897f40f21c075d33e4969552 100644
--- a/HomeWork-java/tempResources/config.properties
+++ b/HomeWork-java/tempResources/config.properties
@@ -36,4 +36,10 @@ MONGODB_PASSWORD=root
SWAP_VALUE_MAX_SIZE=0
SWAP_VALUE_SERVER_PORT=6666
GET_SWAP_VALUE_IP=192.168.10.254
-GET_SWAP_VALUE_PORT=6666
\ No newline at end of file
+GET_SWAP_VALUE_PORT=6666
+
+
+
+
+
+