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.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时,也不会出现问题。