我正在使用Spring Boot进行项目,我正在尝试上传大文件但不知何故它不起作用 .
我在端口8080上运行Spring Boot Zuul(@EnableZuulProxy),然后是另一个应该处理上传的微服务(让我们称之为数据存储) .
我将一个多部分请求发布到http://localhost:8080/zuul/my/upload/endpoint,其中包含一个文件和一个文本字符串 .
当我上传100MB的文件时,一切正常 . Zuul将请求传递给数据存储区,请求进入并存储 . 但是当我尝试上传一个更大的文件(150MB)时,Zuul处理请求并将其传递给数据存储区,但随后在某个地方从请求中删除了一个多部分参数,然后数据存储区错误返回400并说“必需的请求部分”字符串'不存在' .
我在微服务(zuul和数据存储区)中都有以下配置
spring:
servlet:
multipart:
max-file-size: 1000MB
max-request-size: 1000MB
有谁知道如何解决这个问题?我已经尝试添加CommonsMultipartResolver,但这并没有改变任何东西 .
1 回答
而不是 servlet ,您应该使用 http .
在我的Zuul
application.yml
以下属性工作:在Spring boot 2中,以下属性工作:
这里解释了属性: