This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev by this push:
new 326c33ecf Add file name interception (#1799)
326c33ecf is described below
commit 326c33ecfaa5b7779b71e6fab92920a7538de12f
Author: 阿洋 <[email protected]>
AuthorDate: Tue Oct 11 10:02:43 2022 +0800
Add file name interception (#1799)
---
.../apache/streampark/console/base/enums/FileType.java | 2 +-
.../core/service/impl/ApplicationServiceImpl.java | 4 +++-
.../console/core/service/ApplicationServiceTest.java | 16 ++++++++++++++++
3 files changed, 20 insertions(+), 2 deletions(-)
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/enums/FileType.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/enums/FileType.java
index a559432a9..5fca50b23 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/enums/FileType.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/base/enums/FileType.java
@@ -22,7 +22,7 @@ public enum FileType {
/**
* JAR Archive
*/
- JAR("JAR", "504B03040A00000");
+ JAR("JAR", "504B0304");
private final String alias;
private final String magicNumber;
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
index fa2e4276e..d21968e73 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
@@ -103,6 +103,7 @@ import
io.fabric8.kubernetes.client.KubernetesClientException;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.flink.configuration.CheckpointingOptions;
import org.apache.flink.configuration.RestOptions;
@@ -293,7 +294,8 @@ public class ApplicationServiceImpl extends
ServiceImpl<ApplicationMapper, Appli
@Override
public String upload(MultipartFile file) throws ApplicationException {
File temp = WebUtils.getAppTempDir();
- File saveFile = new File(temp,
Objects.requireNonNull(file.getOriginalFilename()));
+ String fileName =
FilenameUtils.getName(Objects.requireNonNull(file.getOriginalFilename()));
+ File saveFile = new File(temp, fileName);
// delete when exists
if (saveFile.exists()) {
saveFile.delete();
diff --git
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/ApplicationServiceTest.java
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/ApplicationServiceTest.java
index b8906ce5c..60bd0c736 100644
---
a/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/ApplicationServiceTest.java
+++
b/streampark-console/streampark-console-service/src/test/java/org/apache/streampark/console/core/service/ApplicationServiceTest.java
@@ -20,13 +20,18 @@ package org.apache.streampark.console.core.service;
import org.apache.streampark.console.StreamParkConsoleBootstrap;
import org.apache.streampark.console.core.entity.Application;
+import org.apache.http.entity.ContentType;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.mock.web.MockMultipartFile;
import org.springframework.test.context.junit.jupiter.SpringExtension;
+import org.springframework.web.multipart.MultipartFile;
+import java.io.File;
+import java.io.FileInputStream;
import java.util.Date;
/**
@@ -89,4 +94,15 @@ public class ApplicationServiceTest {
applicationService.start(application, false);
}
+ @Test
+ public void uploadTest() throws Exception {
+ File file = new File(""); // specify the file path
+ MultipartFile mulFile = new MockMultipartFile(
+ "", // fileName (eg: streampark.jar)
+ "", // originalFilename (eg: path + fileName =
/tmp/file/streampark.jar)
+ ContentType.APPLICATION_OCTET_STREAM.toString(),
+ new FileInputStream(file)
+ );
+ applicationService.upload(mulFile);
+ }
}