diff --git a/code/container-ocr/ocr-springboot/pom.xml b/code/container-ocr/ocr-springboot/pom.xml
index a8510ae8..c2b0e033 100644
--- a/code/container-ocr/ocr-springboot/pom.xml
+++ b/code/container-ocr/ocr-springboot/pom.xml
@@ -83,6 +83,17 @@
oshi-core
6.10.0
+
+
+ com.squareup.okhttp3
+ okhttp
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
diff --git a/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/ApiApplication.java b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/ApiApplication.java
index bf35d708..dc4f4020 100644
--- a/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/ApiApplication.java
+++ b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/ApiApplication.java
@@ -7,12 +7,14 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
DruidDataSourceAutoConfigure.class ,
})
-@EnableAsync
+@EnableAsync // 异步
+@EnableScheduling // 定时任务
public class ApiApplication {
public static void main(String[] args){
// 初始化雪花id
diff --git a/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/config/FileConfig.java b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/config/FileConfig.java
new file mode 100644
index 00000000..3d055876
--- /dev/null
+++ b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/config/FileConfig.java
@@ -0,0 +1,46 @@
+package cn.g3soft.config;
+
+
+import cn.g3soft.utils.PathUtils;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Data
+@Component
+@ConfigurationProperties(prefix = "file")
+public class FileConfig {
+ private String baseDir;
+ private String tempDir;
+ private String containerDir;
+
+ private String staticPath;
+ private String serverUrl;
+
+ public String getTempPath() {
+ return PathUtils.joinFilePath(baseDir, tempDir);
+ }
+
+ public String getContainerPath(){
+ return PathUtils.joinFilePath(baseDir,containerDir);
+ }
+
+ public String buildTempFilePath(String fileName) {
+ return PathUtils.joinFilePath(baseDir, tempDir, fileName);
+ }
+
+ public String getStaticUrlPrefix() {
+ return PathUtils.joinUrl(serverUrl, staticPath);
+ }
+
+ public String buildTempUrl(String fileName) {
+ return PathUtils.joinUrl(serverUrl, staticPath, tempDir, fileName);
+ }
+
+ public String buildFileUrl(String relativePath) {
+ return PathUtils.joinUrl(serverUrl, staticPath, relativePath);
+ }
+
+
+
+}
diff --git a/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/config/WebMvcConfig.java b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/config/WebMvcConfig.java
index b7edcd11..be598ebd 100644
--- a/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/config/WebMvcConfig.java
+++ b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/config/WebMvcConfig.java
@@ -3,28 +3,38 @@ package cn.g3soft.config;
import cn.g3soft.interceptor.AuthInterceptor;
import cn.g3soft.interceptor.DataSourceInterceptor;
import cn.g3soft.interceptor.RequestWrapperFilter;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import javax.annotation.Resource;
+
@Configuration
+@Slf4j
public class WebMvcConfig implements WebMvcConfigurer {
+ @Resource
+ private FileConfig fileConfig;
+
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new AuthInterceptor())
.addPathPatterns("/**")
.excludePathPatterns(
"/auth/login",
- "/error"
+ "/error",
+ "/static/**"
);
registry.addInterceptor(new DataSourceInterceptor())
.addPathPatterns("/**")
.excludePathPatterns(
"/auth/login",
- "/error"
+ "/error",
+ "/static/**"
);
}
@@ -33,7 +43,13 @@ public class WebMvcConfig implements WebMvcConfigurer {
FilterRegistrationBean registration = new FilterRegistrationBean<>();
registration.setFilter(new RequestWrapperFilter());
registration.addUrlPatterns("/*");
- registration.setOrder(1); // 一定要靠前
+ registration.setOrder(1);
return registration;
}
+
+ @Override
+ public void addResourceHandlers(ResourceHandlerRegistry registry) {
+ registry.addResourceHandler(fileConfig.getStaticPath() + "/**")
+ .addResourceLocations("file:" + fileConfig.getUploadDir() + "/");
+ }
}
\ No newline at end of file
diff --git a/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/controller/FileController.java b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/controller/FileController.java
index c5506a9e..109c8ca1 100644
--- a/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/controller/FileController.java
+++ b/code/container-ocr/ocr-springboot/src/main/java/cn/g3soft/controller/FileController.java
@@ -7,8 +7,10 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
+import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -18,123 +20,26 @@ import java.util.Map;
public class FileController {
@Resource
private DbUtils dbUtils;
+ @Resource
+ private FileUploadUtils fileUploadUtils;
- @PostMapping("/getAliyunKey")
- public Result