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