完成java的执行
This commit is contained in:
parent
1143acfe44
commit
60e5382f69
124
pom.xml
124
pom.xml
|
|
@ -5,7 +5,7 @@
|
||||||
<parent>
|
<parent>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
<version>2.7.1</version>
|
<version>2.7.0</version>
|
||||||
<relativePath/> <!-- lookup parent from repository -->
|
<relativePath/> <!-- lookup parent from repository -->
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>com.osredm</groupId>
|
<groupId>com.osredm</groupId>
|
||||||
|
|
@ -14,9 +14,7 @@
|
||||||
<name>osredm-code-scan</name>
|
<name>osredm-code-scan</name>
|
||||||
<description>osredm-code-scan</description>
|
<description>osredm-code-scan</description>
|
||||||
<properties>
|
<properties>
|
||||||
<java.version>17</java.version>
|
<java.version>11</java.version>
|
||||||
<repackage.classifier/>
|
|
||||||
<spring-native.version>0.12.1</spring-native.version>
|
|
||||||
</properties>
|
</properties>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
@ -118,6 +116,7 @@
|
||||||
<version>2.3.2</version>
|
<version>2.3.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
<artifactId>spring-boot-starter-data-redis</artifactId>
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
||||||
|
|
@ -130,6 +129,31 @@
|
||||||
<artifactId>jaxb-api</artifactId>
|
<artifactId>jaxb-api</artifactId>
|
||||||
<version>2.3.1</version>
|
<version>2.3.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- xml转json -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.dom4j</groupId>
|
||||||
|
<artifactId>dom4j</artifactId>
|
||||||
|
<version>2.1.3</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- apache 工具类 -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-lang3</artifactId>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
<!-- fastjson -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>fastjson</artifactId>
|
||||||
|
<version>1.2.79</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
@ -144,96 +168,18 @@
|
||||||
<artifactId>lombok</artifactId>
|
<artifactId>lombok</artifactId>
|
||||||
</exclude>
|
</exclude>
|
||||||
</excludes>
|
</excludes>
|
||||||
<classifier>${repackage.classifier}</classifier>
|
|
||||||
<image>
|
|
||||||
<builder>paketobuildpacks/builder:tiny</builder>
|
|
||||||
<env>
|
|
||||||
<BP_NATIVE_IMAGE>true</BP_NATIVE_IMAGE>
|
|
||||||
</env>
|
|
||||||
</image>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.springframework.experimental</groupId>
|
<!--编译跳过测试文件检查的生命周期-->
|
||||||
<artifactId>spring-aot-maven-plugin</artifactId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<version>${spring-native.version}</version>
|
<artifactId>maven-surefire-plugin</artifactId>
|
||||||
<executions>
|
<configuration>
|
||||||
<execution>
|
<skip>true</skip>
|
||||||
<id>test-generate</id>
|
</configuration>
|
||||||
<goals>
|
|
||||||
<goal>test-generate</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>generate</id>
|
|
||||||
<goals>
|
|
||||||
<goal>generate</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
<repositories>
|
|
||||||
<repository>
|
|
||||||
<id>spring-releases</id>
|
|
||||||
<name>Spring Releases</name>
|
|
||||||
<url>https://repo.spring.io/release</url>
|
|
||||||
<snapshots>
|
|
||||||
<enabled>false</enabled>
|
|
||||||
</snapshots>
|
|
||||||
</repository>
|
|
||||||
</repositories>
|
|
||||||
<pluginRepositories>
|
|
||||||
<pluginRepository>
|
|
||||||
<id>spring-releases</id>
|
|
||||||
<name>Spring Releases</name>
|
|
||||||
<url>https://repo.spring.io/release</url>
|
|
||||||
<snapshots>
|
|
||||||
<enabled>false</enabled>
|
|
||||||
</snapshots>
|
|
||||||
</pluginRepository>
|
|
||||||
</pluginRepositories>
|
|
||||||
|
|
||||||
<profiles>
|
|
||||||
<profile>
|
|
||||||
<id>native</id>
|
|
||||||
<properties>
|
|
||||||
<repackage.classifier>exec</repackage.classifier>
|
|
||||||
<native-buildtools.version>0.9.13</native-buildtools.version>
|
|
||||||
</properties>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.junit.platform</groupId>
|
|
||||||
<artifactId>junit-platform-launcher</artifactId>
|
|
||||||
<scope>test</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<excludes>
|
|
||||||
<exclude>
|
|
||||||
<groupId>org.projectlombok</groupId>
|
|
||||||
<artifactId>lombok</artifactId>
|
|
||||||
</exclude>
|
|
||||||
</excludes>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<!--编译跳过测试文件检查的生命周期-->
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<skip>true</skip>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</profile>
|
|
||||||
</profiles>
|
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
|
||||||
|
|
@ -24,14 +24,14 @@ public class SwaggerConfig {
|
||||||
public Docket docket(Environment environment) {
|
public Docket docket(Environment environment) {
|
||||||
|
|
||||||
// 设置要显示的Swagger环境
|
// 设置要显示的Swagger环境
|
||||||
Profiles profiles = Profiles.of("dev", "test","lwh","win","desk","lwhWin");
|
// Profiles profiles = Profiles.of("dev", "test","lwh","win","desk","lwhWin");
|
||||||
// 通过environment.acceptsProfiles判断是否在自己设定的环境当中
|
// // 通过environment.acceptsProfiles判断是否在自己设定的环境当中
|
||||||
boolean flag = environment.acceptsProfiles(profiles);
|
// boolean flag = environment.acceptsProfiles(profiles);
|
||||||
|
|
||||||
|
|
||||||
return new Docket(DocumentationType.SWAGGER_2)
|
return new Docket(DocumentationType.SWAGGER_2)
|
||||||
.apiInfo(apiInfo())
|
.apiInfo(apiInfo())
|
||||||
.enable(flag) // 是否启动
|
.enable(true) // 是否启动
|
||||||
.groupName("developer")
|
.groupName("developer")
|
||||||
.select()
|
.select()
|
||||||
//RequestHandlerSelectors 配置要扫描接口的方式
|
//RequestHandlerSelectors 配置要扫描接口的方式
|
||||||
|
|
@ -40,7 +40,7 @@ public class SwaggerConfig {
|
||||||
//none() 都不扫描
|
//none() 都不扫描
|
||||||
// withClassAnnotation()扫描类上的注解 需要注解的class
|
// withClassAnnotation()扫描类上的注解 需要注解的class
|
||||||
//withMethodAnnotation 扫描方法上的注解
|
//withMethodAnnotation 扫描方法上的注解
|
||||||
.apis(RequestHandlerSelectors.basePackage("com.osredm.osredmcompbackend.controller"))
|
.apis(RequestHandlerSelectors.basePackage("com.osredm.codescan.controller"))
|
||||||
// 过滤 什么 路径
|
// 过滤 什么 路径
|
||||||
// .paths(PathSelectors.ant("/user"))
|
// .paths(PathSelectors.ant("/user"))
|
||||||
.build();
|
.build();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.osredm.codescan.controller;
|
||||||
|
|
||||||
|
import com.osredm.codescan.entity.NicadInfo;
|
||||||
|
import com.osredm.codescan.service.NicadService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/nicad")
|
||||||
|
public class NicadController {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
NicadService nicadService;
|
||||||
|
|
||||||
|
@PostMapping("/check")
|
||||||
|
public HashMap<String,Object>Check(@RequestBody NicadInfo nicadInfo) {
|
||||||
|
return nicadService.check(nicadInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -30,7 +30,8 @@ public class UploadController {
|
||||||
boolean result = FileUploadUtil.uploadFileWithName(file, storeConfig.getFilePath(), fileName);
|
boolean result = FileUploadUtil.uploadFileWithName(file, storeConfig.getFilePath(), fileName);
|
||||||
if (result) {
|
if (result) {
|
||||||
map.put("status",SUCCESS);
|
map.put("status",SUCCESS);
|
||||||
map.put("url","/api/files/"+ fileName);
|
// 由于后期接口是脚本运行 所以不需要映射 直接返回文件名称即可
|
||||||
|
map.put("fileName",fileName);
|
||||||
}else {
|
}else {
|
||||||
map.put("status",FAIL);
|
map.put("status",FAIL);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.osredm.codescan.entity;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class NicadInfo {
|
||||||
|
private String fileName;
|
||||||
|
private String language;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.osredm.codescan.service;
|
||||||
|
|
||||||
|
import com.osredm.codescan.entity.NicadInfo;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
public interface NicadService {
|
||||||
|
|
||||||
|
HashMap<String,Object>check(NicadInfo nicadInfo);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|
package com.osredm.codescan.service.impl;
|
||||||
|
|
||||||
|
import com.osredm.codescan.config.StoreConfig;
|
||||||
|
import com.osredm.codescan.entity.NicadInfo;
|
||||||
|
import com.osredm.codescan.service.NicadService;
|
||||||
|
import com.osredm.codescan.utils.FileUploadUtil;
|
||||||
|
import com.osredm.codescan.utils.XmlJsonUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import static com.osredm.codescan.utils.Constants.FAIL;
|
||||||
|
import static com.osredm.codescan.utils.Constants.SUCCESS;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class NicadServiceImpl implements NicadService {
|
||||||
|
|
||||||
|
private final StoreConfig storeConfig;
|
||||||
|
|
||||||
|
public NicadServiceImpl(StoreConfig storeConfig) {
|
||||||
|
this.storeConfig = storeConfig;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HashMap<String, Object> check(NicadInfo nicadInfo){
|
||||||
|
HashMap<String, Object> map = new HashMap<>();
|
||||||
|
String language = nicadInfo.getLanguage();
|
||||||
|
switch (language) {
|
||||||
|
case "Java":
|
||||||
|
String filePath = storeConfig.getFilePath() + nicadInfo.getFileName();
|
||||||
|
String time = String.valueOf(System.currentTimeMillis());
|
||||||
|
String flag = storeConfig.getFilePath() + time;
|
||||||
|
// 解压文件
|
||||||
|
String[] arguments = new String[] {"unzip" , filePath, "-d", flag};
|
||||||
|
Process proc;
|
||||||
|
try {
|
||||||
|
proc = Runtime.getRuntime().exec(arguments);// 执行解压文件
|
||||||
|
//用输入输出流来截取结果
|
||||||
|
BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
|
||||||
|
// InputStreamReader(proc.getInputStream());
|
||||||
|
String line = null;
|
||||||
|
String line1 = null;
|
||||||
|
while ((line = in.readLine()) != null) {
|
||||||
|
System.out.println(line);
|
||||||
|
line1 = line;
|
||||||
|
}
|
||||||
|
in.close();
|
||||||
|
int re = proc.waitFor(); //waitFor是用来显示脚本是否运行成功,1表示失败,0表示成功,还有其他的表示其他错误
|
||||||
|
|
||||||
|
if (re == 0) {
|
||||||
|
//成功
|
||||||
|
|
||||||
|
Process proc1;
|
||||||
|
String[] arguments1 = new String[] {"nicad6" ,"functions","java", flag, "default-report"};
|
||||||
|
proc1 = Runtime.getRuntime().exec(arguments1);// 执行解压文件
|
||||||
|
//用输入输出流来截取结果
|
||||||
|
BufferedReader in1 = new BufferedReader(new InputStreamReader(proc1.getInputStream()));
|
||||||
|
|
||||||
|
String line2 = null;
|
||||||
|
String line22 = null;
|
||||||
|
while ((line2 = in1.readLine()) != null) {
|
||||||
|
System.out.println(line2);
|
||||||
|
line22 = line2;
|
||||||
|
}
|
||||||
|
in1.close();
|
||||||
|
int re1 = proc1.waitFor(); //waitFor是用来显示脚本是否运行成功,1表示失败,0表示成功,还有其他的表示其他错误
|
||||||
|
if (re1 == 0) {
|
||||||
|
//成功 读取文件
|
||||||
|
String xml = FileUploadUtil.readFile(storeConfig.getFilePath() + time+"_functions-blind-clones/"+time+"_functions-blind-clones-0.30-classes-withsource.xml");
|
||||||
|
|
||||||
|
String s = XmlJsonUtils.xml2Json(xml);
|
||||||
|
map.put("status",SUCCESS);
|
||||||
|
map.put("xml",xml);
|
||||||
|
map.put("json",s);
|
||||||
|
return map;
|
||||||
|
}else {
|
||||||
|
//失败
|
||||||
|
map.put("status",FAIL);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
//失败
|
||||||
|
map.put("status",FAIL);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
case "C":
|
||||||
|
|
||||||
|
case "C#":
|
||||||
|
|
||||||
|
case "Ruby":
|
||||||
|
|
||||||
|
case "JavaScript":
|
||||||
|
|
||||||
|
default:
|
||||||
|
map.put("status",FAIL);
|
||||||
|
map.put("msg","您选择的语言暂不支持检测!或遇到预期以外的错误");
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -120,7 +120,7 @@ public class FileUploadUtil {
|
||||||
String line = "";
|
String line = "";
|
||||||
String line1;
|
String line1;
|
||||||
while ((line1 = br.readLine()) != null) {
|
while ((line1 = br.readLine()) != null) {
|
||||||
line = line + line1 + '\n' ;
|
line = line + line1 ;
|
||||||
}
|
}
|
||||||
return line;
|
return line;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
package com.osredm.codescan.utils;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONArray;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.dom4j.*;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
public class XmlJsonUtils {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xml转json
|
||||||
|
* @param xmlStr xml字符串
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String xml2Json(String xmlStr) {
|
||||||
|
try {
|
||||||
|
Document doc = DocumentHelper.parseText(xmlStr);
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
dom4j2Json(doc.getRootElement(), json);
|
||||||
|
return JSONObject.toJSONString(json);
|
||||||
|
} catch (DocumentException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xml转json
|
||||||
|
*
|
||||||
|
* @param element
|
||||||
|
* @param json
|
||||||
|
*/
|
||||||
|
private static void dom4j2Json(Element element, JSONObject json) {
|
||||||
|
//如果是属性
|
||||||
|
for (Object o : element.attributes()) {
|
||||||
|
Attribute attr = (Attribute) o;
|
||||||
|
if (!StringUtils.isBlank(attr.getValue())) {
|
||||||
|
json.put("@" + attr.getName(), attr.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<Element> chdEl = element.elements();
|
||||||
|
if (chdEl.isEmpty() && !StringUtils.isBlank(element.getText())) {//如果没有子元素,只有一个值
|
||||||
|
json.put(element.getName(), element.getText());
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Element e : chdEl) {//有子元素
|
||||||
|
if (!e.elements().isEmpty()) {//子元素也有子元素
|
||||||
|
JSONObject chdjson = new JSONObject();
|
||||||
|
dom4j2Json(e, chdjson);
|
||||||
|
Object o = json.get(e.getName());
|
||||||
|
if (o != null) {
|
||||||
|
JSONArray jsona = null;
|
||||||
|
if (o instanceof JSONObject) {//如果此元素已存在,则转为jsonArray
|
||||||
|
JSONObject jsono = (JSONObject) o;
|
||||||
|
json.remove(e.getName());
|
||||||
|
jsona = new JSONArray();
|
||||||
|
jsona.add(jsono);
|
||||||
|
jsona.add(chdjson);
|
||||||
|
}
|
||||||
|
if (o instanceof JSONArray) {
|
||||||
|
jsona = (JSONArray) o;
|
||||||
|
jsona.add(chdjson);
|
||||||
|
}
|
||||||
|
json.put(e.getName(), jsona);
|
||||||
|
} else {
|
||||||
|
if (!chdjson.isEmpty()) {
|
||||||
|
json.put(e.getName(), chdjson);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} else {//子元素没有子元素
|
||||||
|
for (Object o : element.attributes()) {
|
||||||
|
Attribute attr = (Attribute) o;
|
||||||
|
if (!StringUtils.isBlank(attr.getValue())) {
|
||||||
|
json.put("@" + attr.getName(), attr.getValue());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!e.getText().isEmpty()) {
|
||||||
|
json.put(e.getName(), e.getText());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1 +1,29 @@
|
||||||
|
|
||||||
|
|
||||||
|
server.port=8011
|
||||||
|
#MyBatis
|
||||||
|
mybatis_config_file=mybatis-config.xml
|
||||||
|
mapper_path=/mapper/**.xml
|
||||||
|
entity_package=com.osredm.osredmcompbackend.entity,com.osredm.osredmcompbackend.vo
|
||||||
|
|
||||||
|
#MySQL
|
||||||
|
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||||
|
spring.datasource.url=jdbc:mysql://114.116.228.69:8006/osredm_comp?useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||||
|
spring.datasource.username=root
|
||||||
|
spring.datasource.password=HskyOsredm@163.com
|
||||||
|
|
||||||
|
#swagger
|
||||||
|
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
|
||||||
|
|
||||||
|
localPath=file:/root/code-scan/nicad/user-code/
|
||||||
|
file.filePath=/root/code-scan/nicad/user-code/
|
||||||
|
|
||||||
|
fileUploadPath=/root/code-scan/nicad/user-code/
|
||||||
|
|
||||||
|
domain=http://localhost:8011/
|
||||||
|
|
||||||
|
spring.servlet.multipart.max-file-size = 1000MB
|
||||||
|
spring.servlet.multipart.max-request-size=10000MB
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue