This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 97a8c84  [SCB-2384] add multi file upload demo through rpc (#2716)
97a8c84 is described below

commit 97a8c8400d79a41b98fd96f84dd10aa6a8e3a6b6
Author: david6969xin <[email protected]>
AuthorDate: Wed Feb 16 12:02:41 2022 +0800

    [SCB-2384] add multi file upload demo through rpc (#2716)
---
 .../demo/springmvc/client/TestUploadSchema.java    | 22 ++++++++++++++++++++++
 .../demo/springmvc/server/UploadSchema.java        |  7 +++++++
 2 files changed, 29 insertions(+)

diff --git 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java
 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java
index c43f8e2..4c04332 100644
--- 
a/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java
+++ 
b/demo/demo-springmvc/springmvc-client/src/main/java/org/apache/servicecomb/demo/springmvc/client/TestUploadSchema.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.demo.springmvc.client;
 
 import java.io.File;
 import java.io.FileOutputStream;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -27,8 +28,10 @@ import java.util.UUID;
 import org.apache.commons.io.IOUtils;
 import org.apache.servicecomb.demo.CategorizedTestCase;
 import org.apache.servicecomb.demo.TestMgr;
+import org.apache.servicecomb.provider.pojo.RpcReference;
 import org.apache.servicecomb.provider.springmvc.reference.RestTemplateBuilder;
 import org.springframework.core.io.FileSystemResource;
+import org.springframework.core.io.Resource;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Component;
@@ -38,10 +41,19 @@ import org.springframework.web.client.RestTemplate;
 
 @Component
 public class TestUploadSchema implements CategorizedTestCase {
+
+  interface FileUploadMultiInf {
+    String fileUploadMultiRpc(List<Resource> files);
+  }
+
+  @RpcReference(microserviceName = "springmvc", schemaId = "UploadSchema")
+  private FileUploadMultiInf fileUploadMultiInf;
+
   @Override
   public void testRestTransport() throws Exception {
     testServerStartupSuccess();
     testUploadMultiBigFiles();
+    testFileUploadMultiRpc();
   }
 
   private void testServerStartupSuccess() {
@@ -81,4 +93,14 @@ public class TestUploadSchema implements CategorizedTestCase 
{
 
     files.forEach(file -> file.delete());
   }
+
+  private void testFileUploadMultiRpc() throws IOException {
+    File file1 = File.createTempFile("file1", ".txt");
+    File file2 = File.createTempFile("file2", ".txt");
+    List<Resource> files = new ArrayList<>();
+    files.add(new FileSystemResource(file1));
+    files.add(new FileSystemResource(file2));
+    String result = fileUploadMultiInf.fileUploadMultiRpc(files);
+    TestMgr.check(result, "fileUploadMulti success, and fileNum is 2");
+  }
 }
diff --git 
a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java
 
b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java
index 110ccd8..74b687c 100644
--- 
a/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java
+++ 
b/demo/demo-springmvc/springmvc-server/src/main/java/org/apache/servicecomb/demo/springmvc/server/UploadSchema.java
@@ -59,4 +59,11 @@ public class UploadSchema {
   public boolean isServerStartUpSuccess() {
     return TestMgr.isSuccess();
   }
+
+  @PostMapping(path = "/fileUploadMultiRpc", produces = 
MediaType.TEXT_PLAIN_VALUE,
+      consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+  public String fileUploadMultiRpc(@RequestPart(name = "files") 
MultipartFile[] files) {
+      return "fileUploadMulti success, and fileNum is " + files.length;
+  }
+
 }

Reply via email to