DispatcherServlet skips multipart resolution if error page exception attribute indicates MultipartException as root cause
Issue: SPR-11716
This commit is contained in:
@@ -904,7 +904,7 @@ public class DispatcherServlet extends FrameworkServlet {
|
||||
|
||||
try {
|
||||
processedRequest = checkMultipart(request);
|
||||
multipartRequestParsed = processedRequest != request;
|
||||
multipartRequestParsed = (processedRequest != request);
|
||||
|
||||
// Determine handler for the current request.
|
||||
mappedHandler = getHandler(processedRequest);
|
||||
@@ -1059,6 +1059,10 @@ public class DispatcherServlet extends FrameworkServlet {
|
||||
logger.debug("Request is already a MultipartHttpServletRequest - if not in a forward, " +
|
||||
"this typically results from an additional MultipartFilter in web.xml");
|
||||
}
|
||||
else if (request.getAttribute(WebUtils.ERROR_EXCEPTION_ATTRIBUTE) instanceof MultipartException) {
|
||||
logger.debug("Multipart resolution failed for current request before - " +
|
||||
"skipping re-resolution for undisturbed error rendering");
|
||||
}
|
||||
else {
|
||||
return this.multipartResolver.resolveMultipart(request);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user