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);
+    }
 }

Reply via email to