From 94b614901df3bc367d261ae7777f25f0fab52eb2 Mon Sep 17 00:00:00 2001
From: luliqiang <kidgrow>
Date: Fri, 12 Jun 2020 15:37:22 +0800
Subject: [PATCH] FileCenter 优化上传文件

---
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java |    3 ++-
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/config/FeignMultipartConfig.java               |   23 +++++++++++++++++++++++
 kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java                         |    9 ++++++---
 3 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/config/FeignMultipartConfig.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/config/FeignMultipartConfig.java
new file mode 100644
index 0000000..233b59b
--- /dev/null
+++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/config/FeignMultipartConfig.java
@@ -0,0 +1,23 @@
+package com.kidgrow.filecenter.config;
+
+import feign.form.spring.SpringFormEncoder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Primary;
+import org.springframework.context.annotation.Scope;
+
+//@Configuration
+public class FeignMultipartConfig {
+
+    @Bean
+    @Primary
+    @Scope("prototype")
+    public SpringFormEncoder multipartFormEncoder() {
+        return new SpringFormEncoder();
+    }
+
+    @Bean
+    public feign.Logger.Level multipartLoggerLevel() {
+        return feign.Logger.Level.FULL;
+    }
+}
+
diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java
index 1e3ff69..030bc28 100644
--- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java
+++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/FileService.java
@@ -1,6 +1,7 @@
 package com.kidgrow.filecenter.feign;
 
 import com.kidgrow.common.constant.ServiceNameConstants;
+import com.kidgrow.filecenter.config.FeignMultipartConfig;
 import com.kidgrow.filecenter.feign.fallback.FileServiceFallbackFactory;
 import com.kidgrow.filecenter.model.FileInfo;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -17,7 +18,7 @@
  * @CreateDate: Created in 2020/2/22 14:33 <br>
  * @Author: <a href="4345453@kidgrow.com">liuke</a>
  */
-@FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, fallbackFactory = FileServiceFallbackFactory.class, decode404 = true)
+@FeignClient(name = ServiceNameConstants.FILE_CENTER_SERVER, configuration = FeignMultipartConfig.class,fallbackFactory = FileServiceFallbackFactory.class, decode404 = true)
 public interface FileService {
     /**
      * 根据条件查询
@@ -30,6 +31,8 @@
      * 根据条件查询
      * @param file
      */
-    @PostMapping(value = "/files-upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
-    FileInfo feignUpload(MultipartFile file);
+    @PostMapping(value = "/files-upload",produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    FileInfo feignUpload(@RequestPart("file") MultipartFile file);
+
+
 }
diff --git a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java
index d516700..fc724c6 100644
--- a/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java
+++ b/kidgrow-business/kidgrow-filecenter/kidgrow-filecenter-api/src/main/java/com/kidgrow/filecenter/feign/fallback/FileServiceFallbackFactory.java
@@ -7,6 +7,7 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Component;
 import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RequestPart;
 import org.springframework.web.multipart.MultipartFile;
 
 /**
@@ -29,7 +30,7 @@
                 return null;
             }
             @Override
-            public FileInfo feignUpload(MultipartFile file) {
+            public FileInfo feignUpload(@RequestPart("file") MultipartFile file) {
                 return null;
             }
         };

--
Gitblit v1.8.0