来自 Tomcat Azure 的文件上传限制异常

Posted

技术标签:

【中文标题】来自 Tomcat Azure 的文件上传限制异常【英文标题】:File Upload Limit Exception from Tomcat Azure 【发布时间】:2019-08-17 22:16:53 【问题描述】:

我尝试将文件上传到部署在 azure Web 应用服务中的服务器。 在本地它工作正常,当涉及到天蓝色时它会抛出一些异常。 FileSizeLimitExceededException。

本上传服务是在JAVA Spring boot 1.5.8版本开发的

无法解析多部分 servlet 请求;嵌套异常是 java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: 字段文件超出了其最大允许大小 1048576 字节

spring:
  http:
    multipart:
      max-file-size: 10MB
      max-request-size: 100MB
      enabled: true

还尝试了一些@Bean 实体配置。这对我没有帮助。

使用指定 maxPostSize 的自定义 server.xml 文件尝试了 web.config

我需要将最大上传限制设置为 10MB。

【问题讨论】:

你的类路径中有SnakeYAML 库吗? 【参考方案1】:

我看到您使用 application.yml 而不是 application.properties 作为 spring-boot 应用程序的配置文件。但是,我担心您的项目中没有application.properties 文件。正如1.5.8版本的Spring官方文档的[24.6 Using YAML instead of Properties]1部分所说,

YAML 是 JSON 的超集,因此是一种用于指定分层配置数据的非常方便的格式。 只要您的类路径中有 SnakeYAML 库,SpringApplication 类将自动支持 YAML 作为属性的替代方案。

[注意] 如果您使用“Starters”,SnakeYAML 将通过 spring-boot-starter 自动提供。

因此,你的项目中必须有SnakeYAML的库,不管是直接添加jar文件还是配置maven的pom.xml文件,如果没有application.properties

【讨论】:

我的问题已经通过配置属性文件解决了。感谢您的帮助。

以上是关于来自 Tomcat Azure 的文件上传限制异常的主要内容,如果未能解决你的问题,请参考以下文章

Azure Blob 存储的文件大小限制?

如何将大文件上传到 Azure Blob 存储 (.NET Core)

SpringBoot tomcat 上传文件大小受限制

Grails3文件上传maxFileSize限制

如何将 AppendBlob/大于 4mb 限制的文件上传到 Java 中的 Azure 存储/Blob?

Azure Blob Storage SDK for .NET BlobClient.UploadAsync 总是抛出异常,但总是上传文件