feign传递参数类型为MultipartFile的问题

时间:2025-04-11 17:38:52

feign传递参数类型为MultipartFile的问题

feign默认是不支持多媒体文件类型的文件传输的,但是可以通过引入第三方jar包解决这个问题,步骤可以分为三步。
一,引入maven依赖

		<dependency>
            <groupId></groupId>
            <artifactId>feign-form</artifactId>
            <version>3.3.0</version>
        </dependency>
        <dependency>
            <groupId></groupId>
            <artifactId>feign-form-spring</artifactId>
            <version>3.3.0</version>
        </dependency>

二,加入配置类

@Configuration
public class FeignMultipartSupportConfig {
 
    @Bean
    @Primary
    @Scope("prototype")
    public Encoder multipartFormEncoder() {
        return new SpringFormEncoder();
    }
 
    @Bean
    public  multipartLoggerLevel() {
        return ;
    }
}

三,在feign客户端进行配置

import ;
import ;
import ;
import ;
import ;
import ;
import ;

import ;

import ;

@FeignClient(value = "", fallback = ,configuration=)
public interface IFileService {
	//上传文件
	@RequestMapping(value = "/rmi/fileService/mediaImgUpload",  produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
	public String mediaImgUpload(@RequestPart MultipartFile file);
	//下载文件
	@RequestMapping(value = "/rmi/fileService/mediaDownload",method = ,consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
	public Response mediaDownload(@RequestParam(required = true) String mediaId);