我正在为一个项目使用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,但这并没有改变什么。
您应该使用< code>http而不是< code>servlet。
在我的Zuul application.yml中,
以下属性工作:
spring:
http:
multipart:
max-file-size: 1000MB
max-request-size: 1000MB
在 Spring boot 2 中,以下属性有效:
spring:
servlet:
multipart:
max-file-size: 1000MB
max-request-size: 1000MB
下面对属性进行了说明:
{
"name": "spring.http.multipart.max-file-size",
"type": "java.lang.String",
"description": "Max file size. Values can use the suffixes \"MB\" or \"KB\" to indicate megabytes or\n kilobytes respectively.",
"sourceType":
"org.springframework.boot.autoconfigure.web.MultipartProperties",
"defaultValue": "1MB"
},
{
"name": "spring.http.multipart.max-request-size",
"type": "java.lang.String",
"description": "Max request size. Values can use the suffixes \"MB\" or \"KB\" to indicate megabytes or\n kilobytes respectively.",
"sourceType":
"org.springframework.boot.autoconfigure.web.MultipartProperties",
"defaultValue": "10MB"
},
我肯定在这里缺少某种序列化程序 任何建议都将不胜感激! 谢谢
如何提供一个在条件不匹配时调用的处理程序? 如果我有两个处理程序,第一个有条件,第二个没有条件,当第一个条件匹配时,两个处理程序都被调用。我如何避免这种情况?
我不明白为什么Spring AWS Cloud代码找不到我的S3文件。我的springbeanxml配置中有“aws-context:context-resource-loader”。我本以为“s3:”资源的使用会像spring一样无缝,因为“classpath:”资源很容易使用。 我知道 AWS 权限和凭证配置正确,因为如果我直接使用 AmazonS3Client,我可以检索有问题的文件。 从S
Spring Cloud Kafka Streams与Spring Cloud Stream、Spring Cloud Function、Spring AMQP和Spring for Apache Kafka有什么区别?
我正在使用spring-cloud Brixton.m5进行一些工作,并尝试使AsyncRestTemplate工作,以便将多个微服务调用异步组合到协调服务响应中。我在https://github.com/spencergibb/MyFeed/blob/master/myfeed-core/src/main/java/MyFeed/core中找到了spencer Gibb的MyFeed githu