Feign 传输 MultipartFile 的一些问题

2022年8月9日08:16:15

Feign 传输 MultipartFile 的一些问题

File 转 MultipartFile

pom.xml

<!-- https://mvnrepository.com/artifact/org.springframework/spring-mock --><dependency><groupId>org.springframework</groupId><artifactId>spring-mock</artifactId><version>2.0.8</version></dependency>
publicstatic MultipartFilegetMultipartFile(String fileName, File file)throws IOException{returnnewMockMultipartFile(fileName, file.getName(), ContentType.APPLICATION_OCTET_STREAM.toString(),newFileInputStream(file));}

报错 Current request is not a multipart request、Content type ‘’ not supported

  • @PostMapping设置 consumes = MediaType.MULTIPART_FORM_DATA_VALUE
  • 使用@RequestPart(),不能使用@RequestParam()
@PostMapping(value="/upload", consumes= MediaType.MULTIPART_FORM_DATA_VALUE)
ResultBodyupload(@RequestPart(value="file") MultipartFile file);

报错 Required request part ‘file’ is not present

configuration

@ConfigurationpublicclassUploadFeignConfig{@Beanpublic EncodermultipartFormEncoder(){returnnewSpringFormEncoder(newSpringEncoder(newObjectFactory<HttpMessageConverters>(){@Overridepublic HttpMessageConvertersgetObject()throws BeansException{returnnewHttpMessageConverters(newRestTemplate().getMessageConverters());}}));}}

FeignClient

@FeignClient(value= FileConstants.FILE_SERVER, configuration= UploadFeignConfig.class)publicinterfaceFileServiceClientextendsIFileServiceClient{@Override@PostMapping(value="/upload", consumes= MediaType.MULTIPART_FORM_DATA_VALUE)
	ResultBodyupload(@RequestPart(value="file") MultipartFile file);}
  • 作者:MervynLammm
  • 原文链接:https://blog.csdn.net/Rec_Mervyn/article/details/117127791
    更新时间:2022年8月9日08:16:15 ,共 1418 字。