使用带有tomcat 9.0.31版本的spring boot的多文件上传失败

问题描述 投票:3回答:1

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

请帮助解决此问题。

java spring-boot tomcat multipart
1个回答
0
投票

这是Tomcat 9.0.31中的错误。 Apache的Bugzilla中已经有一个条目:https://bz.apache.org/bugzilla/show_bug.cgi?id=64195

根据错误报告,为防止出现此问题,您可以-使用Http11Nio2Protocol而不是Http11NioProtocol-使用Tomcat 9.0.30(不会发生这种情况)(但在Tomcat的AJP协议中具有严重的Ghostcat漏洞)

此问题将在9.0.32中修复(尚未发布)。>>

注意:使用http代替https时,也不会出现问题。

© www.soinside.com 2019 - 2024. All rights reserved.