springcloud微服务之间通过feign调用方式上传文件MultipartFile

通过我们使用spring系列的框架上传文件,都会利用MultipartFile文件流进行文件的上传。但是我在最近的项目中遇到一个问题,我们的项目是基于springboot框架的springcloud微服务搭建的,后端服务技术层面整体上分为business服务和core服务,business服务用于作为应用层,直接连接用户端,通常用于聚合数据,core服务用于基本很少变动的非业务核心接口。那么用户的上传过程实现,就要通过前端页面调用business服务上传接口,然后business服务调用core服务的上传接口实现文件上传。在服务与服务之间通过feign调用时,发现MultipartFile文件流上传文件会报错。经过不断摸索以及网上的方案。最终解决了,现在把问题方案贴出来,希望能帮到有需要的开发者朋友。

一、编写配置类

编写一个配置类,也就是把multipart/form-data格式的文件流编码为spring框架能够解析的格式

@Configuration
public class MultipartSupportConfig {

    @Autowired
    private ObjectFactory<HttpMessageConverters> messageConverters;
 
    @Bean
    public Encoder feignFormEncoder() {
        return new SpringFormEncoder(new SpringEncoder(messageConverters));
    }
}

二、服务调用方加注解类

/**
 * @author guobinhui
 * @date 2019/10/31
 */
@FeignClient(name="xxxx", configuration = MultipartSupportConfig.class)
public interface CreditEvaluationClient {
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值