springcloud中使用feign方式上传文件,spring cloud 怎么通过feign调用服务_1

  springcloud中使用feign方式上传文件,spring cloud 怎么通过feign调用服务

  

目录

如何使用假装后台内部传递多文件先修改FeignClient接口内部调用注意点假装进行跨服务传递多文件文件通过假装进行跨服务传递多文件文件

 

  

如何使用Feign后台内部传递MultipartFile

 

  

先修改Feign Client接口

导入假装。编解码器。编码器;导入假装。形式。春天。springformencoder导入org。spring框架。云。打开假装。假装客户;导入org。spring框架。语境。注释。豆;导入org。spring框架。http。媒体类型;导入组织。spring框架。网络。绑定。注释。删除映射;导入org。spring框架。网络。绑定。注释。后期映射;导入org。spring框架。网络。绑定。注释。请求参数;导入org。spring框架。网络。绑定。注释。请求零件;导入org。spring框架。网络。多部分。多部分文件;/* * * * @作者linli * @ date 20-06-27 */@ FeignClient(value= upload ,fallback factory=uploadfallbackfactory。class,configuration=UploadClient .MultipartSupportConfig.class)公共接口上传客户端{ @ post mapping(path=/upload-text ,consumes=MediaType .MULTIPART _ FORM _ DATA _ VALUE)字符串上传文本(@ request part(name= file )多部分文件文件);/** * 引用配置类MultipartSupportConfig .并且实例化*/class MultipartSupportConfig { @ Bean public Encoder feignFormEncoder(){ return new SpringFormEncoder();} }}若SpringFormEncoder引入报错,加上下面的依赖

 

  依赖关系groupIdio.github.openfeign.form/groupId artifactIdfeign-form/artifactidversion 3。3 .0/version/dependencydependencycgroupidio。github。打开假装。form/groupid artifactIdfeign-form-spring/artifactid版本3。3 .0/版本/依赖项

  

内部调用

私有字符串uploadFile(String str){文件输出流fos=nullfile inputstream fis=null multipart file multipart file=null;byte[]Bt=str。getbytes();文件file=空请尝试{ file=file。创建临时文件( file uuid。随机uuid(), .txt’);fos=新文件输出流(文件);fos.write(bt,0,bt。长度);fis=新文件输入流(文件);multipart file=新的模拟多部分文件( file ,file.getName(),MediaType .TEXT_PLAIN_VALUE,fis);} catch(找不到文件异常e){ e . printstacktrace();} catch(io异常e){ e . printstacktrace();}最后{ if (fis!=null){ try { fis。close();} catch(io异常e){ e . printstacktrace();} } if (fos!=null){ try { fos。close();} catch(io异常e){ e . printstacktrace();} } }返回上传客户端。上传文本(多部分文件);}

 

  

注意点

 

  

Feign进行跨服务传递MultipartFile文件

通过调用服务进行文件上传,避免每个需要上传文件的模块都写一遍上传服务,造成代码冗余。

 

  本文主要包含通过假装进行文件上传模块。

  使技术人员在开发过程中遇到问题时有地可查,有章可循。

  

通过feign进行跨服务传递MultipartFile文件

添加依赖

 

  依赖关系groupIdio.github.openfeign.form/groupId artifactId Fei-form/artifactId版本3 .0 .3/版本/依赖关系依赖关系groupIdio.github.openfeign.form/groupId artifactId Fei-form-spring/artifactId版本3 .0 .3/版本/依赖关系添加配置文件

  包com。如意。双向转诊。配置器;导入假装。编解码器。编码器;导入假装。形式。春天。springformencoder导入org。spring框架。豆子。工厂。对象工厂;导入org。spring框架。豆子。工厂。注释。自动连线;导入组织。spring框架。靴子。自动配置。http。http消息转换器;导入org。spring框架。云。打开假装。支持。弹簧编码器;导入org。spring框架。语境。注释。豆;导入org。spring框架。语境。注释。配置;@ configuration public class MultipartSupportConfig { @ auto wired private objectfactoryhtpmessageconverters消息转换器;@Bean公共编码器feignFormEncoder(){ return new spring form Encoder(new spring Encoder(消息转换器));} }代码示例

  @ FeignClient(value= controller-center )公共接口callfrignsservice {/* * * * @ Create文件上传wanggx _伊瑞2019.11.15 * @param上传路径文件上传地址* @param文件上传的文件* @ return */@ post mapping(value=/API/v1/common/file/file upload ,consumes=MediaType .MULTIPART _ FORM _ DATA _ VALUE)字符串文件上传(@ request param(VALUE= upload path ,required=true)字符串上传路径,@RequestPart(value=file ,required=true)多部分文件文件);}以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: