通过 Feign 进行文件上传

简介: 通过 Feign 进行文件上传

转载请注明出处:

  项目为spring cloud 项目,项目中对各部分能力业务进行了拆分,将公共的服务能力放在一个模块当中,通过

Feign 的方式 进行调用,feign 调用的本质还是http内部通信请求,实现模块之间的调用。

  通过feign进行文件上传时,feign 侧示例代码如下:

@FeignClient
public interface UploadClient {
  @PostMapping(value = "/uploadFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
  String uploadFile(@RequestPart(value = "file") MultipartFile file, @RequestParam String uploadPath);
}

文件属性需要使用 @RequestPart 属性,而且在请求中添加 consumes = MediaType.MULTIPART_FORM_DATA_VALUE ,

文件表单上传请求通常使用的ContentType为 multipart/form-data ,通过以上直接调用feign的方式即可实现feign 文件上传

以下为 @RequestPart 与 @RequestParam 的区别:

1. @RequestPart这个注解用在multipart/form-data表单提交请求的方法上。

2. 支持的请求方法的方式MultipartFile,属于Spring的MultipartResolver类。这个请求是通过http协议传输的。

3. @RequestParam也同样支持multipart/form-data请求。

4. 他们最大的不同是,当请求方法的请求参数类型不再是String类型的时候。

5. @RequestParam适用于name-valueString类型的请求域,@RequestPart适用于复杂的请求域(像JSON,XML)。

目录
相关文章
|
6月前
|
Java
SpringBoot之文件上传(单文件与多文件上传的使用)
SpringBoot之文件上传(单文件与多文件上传的使用)
Springboot接口同时支持GET和POST请求
Springboot接口同时支持GET和POST请求
803 0
SpringBoot文件上传
SpringBoot文件上传
|
前端开发 Java 数据安全/隐私保护
SpringMVC的拦截器和文件上传
SpringMVC的拦截器和文件上传
68 0
|
Java
SpringBoot实现文件上传接口
文件上传是很多业务场景需要实现的功能,今天就简单以Springboot框架为基础实现文件上传的接口。
2279 0
SpringBoot实现文件上传接口
|
6月前
|
Java
SpringBoot文件上传单文件多文件上传
SpringBoot文件上传单文件多文件上传
45 0
|
5月前
|
Java Spring
Spring实现文件上传,文件上传
Spring实现文件上传,文件上传
|
前端开发 Java 对象存储
使用Feign接口实现文件上传的解决方案
一般的情况下,后端有个微服务,暴露出一个文件上传的restful接口给前端,前端调用该接口获取上传后的链接以及oss key值完成上传。假设提供restful接口的这个服务叫做A,现在有个微服务B有个本地文件,需要将本地文件调用A文件文件上传接口上传到文件服务器,该如何做?
120 0
|
Java
Springboot文件上传
Springboot文件上传
50 0