当前位置:网站首页>Some problems of feign transferring multipartfile

Some problems of feign transferring multipartfile

2022-06-26 10:43:00 MervynLammm

Feign transmission MultipartFile Some of the problems

File turn 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>
public static MultipartFile getMultipartFile(String fileName, File file) throws IOException {
    
    return new MockMultipartFile(fileName, file.getName(), ContentType.APPLICATION_OCTET_STREAM.toString(), new FileInputStream(file));
}

Report errors Current request is not a multipart request、Content type ‘’ not supported

  • @PostMapping Set up consumes = MediaType.MULTIPART_FORM_DATA_VALUE
  • Use @RequestPart(), Out of commission @RequestParam()
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
ResultBody upload(@RequestPart(value = "file") MultipartFile file);

Report errors Required request part ‘file’ is not present

configuration

@Configuration
public class UploadFeignConfig {
    
    @Bean
    public Encoder multipartFormEncoder() {
    
        return new SpringFormEncoder(new SpringEncoder(new ObjectFactory<HttpMessageConverters>() {
    
            @Override
            public HttpMessageConverters getObject() throws BeansException {
    
                return new HttpMessageConverters(new RestTemplate().getMessageConverters());
            }
        }));
    }
}

FeignClient

@FeignClient(value = FileConstants.FILE_SERVER, configuration= UploadFeignConfig.class)
public interface FileServiceClient extends IFileServiceClient {
    
    @Override
    @PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
	ResultBody upload(@RequestPart(value = "file") MultipartFile file);
}
原网站

版权声明
本文为[MervynLammm]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202170529155695.html