Feign调用实现文件上传(MultipartFile)

时间:2025-04-11 17:55:34
import ;
import ;
import ;
import ;
import ;
import ;

@FeignClient(name="testName",configuration = )
@Component
public interface TestFeign {


    class MultipartSupportConfig {
        private ObjectFactory<HttpMessageConverters> messageConverters;
        public Encoder feignFormEncoder() {
            return new SpringFormEncoder(new SpringEncoder(messageConverters));
        }
    }


    
    @PostMapping(value = "/file/add",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    ResponseDTO add(@RequestParam(value = "fileName") String fileName,
                    @RequestPart(value = "file") MultipartFile file);


    @PutMapping(value = "/file/edit",consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    ResponseDTO edit(@RequestParam(value = "id") String id,
                     @RequestParam(value = "fileName") String fileName,
                     @RequestPart(value = "file",required = false) MultipartFile file);


}
<dependency>
			<groupId></groupId>
			<artifactId>feign-form-spring</artifactId>
			<version>3.2.2</version>
		</dependency>
		<dependency>
			<groupId></groupId>
			<artifactId>feign-form</artifactId>
			<version>3.2.2</version>
		</dependency>
		<dependency>
			<groupId>commons-fileupload</groupId>
			<artifactId>commons-fileupload</artifactId>
			<version>1.3.3</version>
		</dependency>