Multipart file upload not working after spring boot upgrade 3.1.4

121 Views Asked by At

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:

  1. Added @MultipartConfig
  2. 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.

0

There are 0 best solutions below