Feign進行跨服務傳遞MultipartFile文件


1.編寫目的

通過調用服務進行文件上傳,避免每個需要上傳文件的模塊都寫一遍上傳服務,造成代碼冗余。

2.主要內容

本文主要包含通過feign進行文件上傳模塊。

3.作用

使技術人員在開發過程中遇到問題時有地可查,有章可循。

4.如何通過feign進行跨服務傳遞MultipartFile文件

4.1添加依賴

<dependency>
   <groupId>io.github.openfeign.form</groupId>
   <artifactId>feign-form</artifactId>
   <version>3.0.3</version>
</dependency>
<dependency>
   <groupId>io.github.openfeign.form</groupId>
   <artifactId>feign-form-spring</artifactId>
   <version>3.0.3</version>
</dependency>

4.2添加配置文件

 1 package com.ruiyi.twowayreferral.configurer;
 2 
 3 import feign.codec.Encoder;
 4 import feign.form.spring.SpringFormEncoder;
 5 import org.springframework.beans.factory.ObjectFactory;
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
 8 import org.springframework.cloud.openfeign.support.SpringEncoder;
 9 import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.Configuration;
11 
12 @Configuration
13 public class MultipartSupportConfig {
14 
15     @Autowired
16     private ObjectFactory<HttpMessageConverters> messageConverters;
17 
18     @Bean
19     public Encoder feignFormEncoder() {
20         return new SpringFormEncoder(new SpringEncoder(messageConverters));
21     }
22 }

4.3代碼示例

 1 @FeignClient(value = "controller-center")
 2 public interface CallFrignService {
 3 
 4     /**
 5      * @Create 文件上傳 wanggx_ruiyi 2019.11.15
 6      * @param uploadPath 文件上傳地址
 7      * @param file 上傳的文件
 8      * @return
 9      */
10     @PostMapping(value = "/api/v1/common/file/fileUpload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
11     String fileUpload(@RequestParam(value = "uploadPath", required = true) String uploadPath,@RequestPart(value = "file", required = true) MultipartFile file);
12 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM