java - 使用带有 tomcat 版本 9.0.31 的 spring boot 的分段文件上传失败

标签 java spring-boot tomcat multipart

spring boot 应用程序中的多部分文件上传不适用于 tomcat 版本 9.0.31。但是这个功能在旧版本 9.0.30 上工作正常。但是这个版本有一个漏洞,被迫升级版本。
请参阅下面给出的错误

 "timestamp": "2020-03-09T08:01:56.169+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly",

错误日志如下
nested exception is org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly] with root causeorg.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException: Stream ended unexpectedly

请帮助解决这个问题。

最佳答案

我认为该错误已在最新的 tomcat 版本 9.0.33 中得到修复。

在版本 9.0.31 中不起作用的多部分文件上传功能也已通过升级修复。此外,我尝试使用 owasp 依赖项检查器检查是否存在任何漏洞,发现此版本中没有漏洞。

只需使用以下 version 升级您的依赖项:

<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-core -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <version>9.0.33</version>
</dependency>

关于java - 使用带有 tomcat 版本 9.0.31 的 spring boot 的分段文件上传失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60597598/

相关文章:

java - log4j2 生成具有旧日期的文件夹 - Spring Boot

spring-mvc - Thymeleaf 类追加多个类

java - 如何使用 post 方法将文件上传到 spring mvc RestController

java - 求两个时间值之间的时间差始终给出 "Second"值 0

java - 调用方法并传递对象引用并使用相同的引用捕获返回

spring-boot - 有没有办法将请求参数传递给/health 端点?

java - 如何知道客户端是否关闭了连接

tomcat - 如何测试tomcat配置?

java - Tomcat 管理器部署位于服务器上的 WAR 文件

java通知所有: illegalMonitorStateException