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