We have just upgraded to spring boot 3.1.4. As part of the upgrade we have replaced javax.* with jakarta.* but multipart file upload api is failing with below error. Any pointers?
2024-02-14T14:48:35.476+0530 [http-nio-8080-exec-1] ERROR org.glassfish.jersey.server.ServerRuntime$Responder - Error while closing the output stream in order to commit response.
org.glassfish.jersey.server.ContainerException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been provided
at org.glassfish.jersey.servlet.internal.ResponseWriter.getResponseContext(ResponseWriter.java:278) ~[jersey-container-servlet-core-3.1.3.jar:?]```
Steps taken:
- Added
@MultipartConfig - application.properties already has these:
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB
controller:
import jakarta.servlet.http.HttpServletRequest;
import jakarta.ws.rs.*;
import jakarta.ws.rs.core.Context;
import jakarta.ws.rs.core.HttpHeaders;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
@POST
@Path("/uploadFiles")
@ApiOperation(value = "Upload Files")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response uploadFiles(@Context HttpServletRequest request,
@Context HttpHeaders headers) {
body}
Whenever I call request.getParts() I get the error mentioned above.