Charlie,
On 12/17/24 2:59 PM, Charlie DiDonato wrote:
On 12/16/24 5:02 PM, Charlie DiDonato wrote:
Tomcat 10.1.26 on Windows
I getting a Tomcat error page (HTTP 413 - Payload too large) when
trying to upload a 372 Mb file for parsing and loading in my web app.
Do you have a stack trace to look at?
I have done the following:
Web.xml is modified for my Spring app as below
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</serv
let-cl
ass>
<load-on-startup>1</load-on-startup>
<multipart-config>
<max-file-size>1048576000</max-file-size> <!-- 1 GB -->
<max-request-size>1048576000</max-request-size> <!-- 1 GB -->
<file-size-threshold>0</file-size-threshold> <!-- 0 bytes -->
</multipart-config>
</servlet>
Are you sure the "dispatcher" servlet is the one handling the request?
-chris
There is no stack trace in the Tomcat logs but I find this in my application
log.
It might NOT be Tomcat itself but rather my Spring configuration.
I though it might be Tomcat because it was a Tomcat Error page.
What do you think about below?
Charlie
2024-12-17 13:38:56,682 TRACE o.s.w.s.DispatcherServlet [http-nio-80-exec-1] POST
"/codereaper/snomed/snomedFileUpload", parameters={multipart}, headers={masked}
in DispatcherServlet 'dispatcher'
2024-12-17 13:38:56,729 WARN o.s.w.s.m.s.DefaultHandlerExceptionResolver
[http-nio-80-exec-1] Resolved
[org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum
upload size exceeded]
2024-12-17 13:38:56,729 TRACE o.s.w.s.DispatcherServlet [http-nio-80-exec-1] No
view rendering, null ModelAndView returned.
2024-12-17 13:38:56,729 DEBUG o.s.w.s.DispatcherServlet [http-nio-80-exec-1]
Completed 413 PAYLOAD_TOO_LARGE, headers={}
Here is what I did to resolve.........not a Tomcat problem but a Spring issue
Agreed: Spring is the component which is objecting to the file size.
1. commented out dispatcher servlet in web.xml as there was already a
dispatcher servlet in the app initializer class
2. Added a multipart config in the app initializer code as below
@EnableWebSecurity
public class CodereaperWebAppInitializer implements WebApplicationInitializer {
private static final String TMP_FOLDER = "c:/1";
private static final int MAX_UPLOAD_SIZE = 1000 * 1024 * 1024; //1 Gb
@Override
public void onStartup(ServletContext container) {
AnnotationConfigWebApplicationContext context
= new AnnotationConfigWebApplicationContext();
context.setConfigLocation("com.empirestateids.configuration");
container.addListener(new ContextLoaderListener(context));
ServletRegistration.Dynamic dispatcher = container
.addServlet("dispatcher", new DispatcherServlet(context));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");
MultipartConfigElement multipartConfigElement = new MultipartConfigElement(TMP_FOLDER,
MAX_UPLOAD_SIZE, MAX_UPLOAD_SIZE * 2L, 0);
dispatcher.setMultipartConfig(multipartConfigElement);
}
}
That sounds plausible. I know nothing about Spring, though :)
That temp folder looks sketchy to me.
-chris
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org