Springcloud feign文件上传报错FileUploadException: the request was rejected because no multipart boundary

时间:2025-04-11 17:13:05

在选择springcloud作为微服务框架时,我们使用远程RPC调用接口,此时我们选择Feign声明式服务调用,简单易用,

可以直接继承接口,注入使用,那此时在文件上传时,变出现了问题,FeignClient调用接口时不支持上传文件;于是找到了githup找到一个开源的工具包,

引入在pom文件中加入

 

 

       <!--解决不能传递表单参数的问题-->
        <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>

在使用FeignClient时带上参数

@FeignClient(name = "feign-service",configuration = )
public interface FeignService{
    @RequestMapping(value = "/uploads", method = , consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    String uploads(@RequestPart("file") MultipartFile file);
}

注意,参数注解是@RequestPart

注意,注意,因为Springcloud的对应的feign-form版本不对则会出现以下问题,

Springboot version(1.)

Springcloud version(Dalston.RC1)

feign-form对应的版本是<version>3.3.0</version>,

而我使用的是spring boot() srpingcloud(Greenwich.SR1)

feign-form对应的版本是<version>3.3.0</version>,

就不会出现这种问题了,版本不对称,找起来也费劲

: the request was rejected because no multipart boundary was found
	at $FileItemIteratorImpl.<init>(:840) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:256) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:280) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:2871) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:2780) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:1084) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:93) ~[spring-web-4.3.:4.3.]
	at .<init>(:86) ~[spring-web-4.3.:4.3.]
	at (:79) ~[spring-web-4.3.:4.3.]
	at (:1104) ~[spring-webmvc-4.3.:4.3.]
	at (:936) ~[spring-webmvc-4.3.:4.3.]
	at (:901) ~[spring-webmvc-4.3.:4.3.]
	at (:970) ~[spring-webmvc-4.3.:4.3.]
	at (:872) ~[spring-webmvc-4.3.:4.3.]
	at (:661) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:846) ~[spring-webmvc-4.3.:4.3.]
	at (:742) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:231) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:52) ~[tomcat-embed-websocket-8.5.:8.5.16]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:55) ~[spring-boot-1.5.:1.5.]
	at (:107) ~[spring-web-4.3.:4.3.]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:110) ~[spring-boot-actuator-1.5.:1.5.]
	at (:107) ~[spring-web-4.3.:4.3.]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:99) ~[spring-web-4.3.:4.3.]
	at (:107) ~[spring-web-4.3.:4.3.]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:105) ~[spring-web-4.3.:4.3.]
	at (:107) ~[spring-web-4.3.:4.3.]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:81) ~[spring-web-4.3.:4.3.]
	at (:107) ~[spring-web-4.3.:4.3.]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:197) ~[spring-web-4.3.:4.3.]
	at (:107) ~[spring-web-4.3.:4.3.]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:106) ~[spring-boot-actuator-1.5.:1.5.]
	at (:107) ~[spring-web-4.3.:4.3.]
	at (:193) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:166) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:198) ~[tomcat-embed-core-8.5.:8.5.16]
	at (:96) [tomcat-embed-core-8.5.:8.5.16]
	at (:478) [tomcat-embed-core-8.5.:8.5.16]
	at (:140) [tomcat-embed-core-8.5.:8.5.16]
	at (:80) [tomcat-embed-core-8.5.:8.5.16]
	at (:87) [tomcat-embed-core-8.5.:8.5.16]
	at (:342) [tomcat-embed-core-8.5.:8.5.16]
	at .http11.(:799) [tomcat-embed-core-8.5.:8.5.16]
	at (:66) [tomcat-embed-core-8.5.:8.5.16]
	at $(:868) [tomcat-embed-core-8.5.:8.5.16]
	at $(:1455) [tomcat-embed-core-8.5.:8.5.16]
	at (:49) [tomcat-embed-core-8.5.:8.5.16]
	at (:1142) [na:1.8.0_111]
	at $(:617) [na:1.8.0_111]
	at $(:61) [tomcat-embed-core-8.5.:8.5.16]
	at (:745) [na:1.8.0_111]