服务器代码
@RestController
public class MultiFileService {
@PostMapping(value="multiFileController/receiveFile",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void receiveFile(@RequestPart(value = "file1") MultipartFile file1,@RequestPart(value = "file2") MultipartFile file2){
System.out.println("fg");
}
yml配置
spring:
application:
name: feign-multiFile-service
客户端代码
pom
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.8.0</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.8.0</version>
</dependency>
feignclient
@FeignClient(name="feign-multiFile-service",configuration = FeignClientConfig.class)
public interface MultiFileService {
@PostMapping(value="multiFileController/receiveFile", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
void receiveFile(@RequestPart(value = "file1") MultipartFile file1,@RequestPart(value = "file2") MultipartFile file2);
}
配置文件
@Configuration
public class FeignClientConfig {
/**
* feign 日志打印
* @return
*/
@Bean
public Logger.Level getFeignLoggerLevel() {
return feign.Logger.Level.FULL;
}
@Bean
@Primary
@Scope("prototype")
public Encoder multipartFormEncoder() {
return new SpringFormEncoder();
}
}
controller
@PostMapping(value = "multiFileController/sendFile" ,consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public void receiveFile(@RequestPart("file1") MultipartFile file1, @RequestPart("file2") MultipartFile file2, User user, HttpServletRequest req) {
multiFileService.receiveFile(file1,file2);
}