1

I've got this error in a method on a controller that is highly requested. It is a simple POST receiving a JSON.

This method is like this:

@PostMapping("/")
@ResponseBody
public A query(B obj){
...
}

New Relic is presenting the following stack trace:

Error message
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: Too many open files

Sample stack trace
…ultipart.commons.CommonsMultipartResolver.parseRequest (CommonsMultipartResolver.java:168)

…part.commons.CommonsMultipartResolver.resolveMultipart (CommonsMultipartResolver.java:142)

…framework.web.servlet.DispatcherServlet.checkMultipart (DispatcherServlet.java:1099)

…ringframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:932)
...
caused by org.apache.commons.fileupload.FileUploadException: Too many open files
….apache.commons.fileupload.FileUploadBase.parseRequest (FileUploadBase.java:362)
…mons.fileupload.servlet.ServletFileUpload.parseRequest (ServletFileUpload.java:115)
…ultipart.commons.CommonsMultipartResolver.parseRequest (CommonsMultipartResolver.java:158)
…part.commons.CommonsMultipartResolver.resolveMultipart (CommonsMultipartResolver.java:142)
…framework.web.servlet.DispatcherServlet.checkMultipart (DispatcherServlet.java:1099)
…ringframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:932)
…pringframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:897)
…gframework.web.servlet.FrameworkServlet.processRequest (FrameworkServlet.java:970)
org.springframework.web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:872)
                 javax.servlet.http.HttpServlet.service (HttpServlet.java:707)
…g.springframework.web.servlet.FrameworkServlet.service (FrameworkServlet.java:846)
                 javax.servlet.http.HttpServlet.service (HttpServlet.java:790)
…undertow.servlet.handlers.ServletHandler.handleRequest (ServletHandler.java:85)

Has anyone gone through something like this?

1 Answer 1

1

Removing the headers can work. I was facing the same issue when sending a post request from angular toward my spring controller. this was my code that was throwing the same error using angular.

let formData:FormData = new FormData();
    formData.append('file', file, file.name);
    let headers = new Headers();
    headers.append('Content-Type', 'multipart/form-data')
    headers.append('Accept', 'application/json');
let options = new RequestOptions({ headers: headers });
    this.http.post(URL_API_REST + 'upload', formData, options)  

Commenting out this line below solve the issue since I didn't handle the multipart/form-data in my spring controller:

headers.append('Content-Type', 'multipart/form-data')
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.