当前位置: 首页 > 知识库问答 >
问题:

春云Netflix Zuul大文件上传

马泰
2023-03-14

我正在为一个项目使用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个答案

宰父俊彦
2023-03-14

您应该使用< 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