Using the following library:

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-fileupload2-jakarta</artifactId>
  <version>2.0.0-M1</version>
</dependency>

The Streaming API (documented here FileUpload – The Streaming API 
(apache.org)<https://commons.apache.org/proper/commons-fileupload/streaming.html>)
  does not return any items. I've tested the following code using postman and 
curl to send a multipart/form-data request, in both cases getItemIterator fails 
to return any items (internally it seems an exceptio is thrown):


 public ResponseEntity<Void> upload(HttpServletRequest request) throws 
IOException {
        if (!JakartaServletFileUpload.isMultipartContent(request)) {
            throw new IllegalArgumentException("not multipart");
        }

        JakartaServletFileUpload upload = new JakartaServletFileUpload();

        upload.getItemIterator(request).forEachRemaining(item -> {
            String name = item.getFieldName();
            InputStream stream = item.getInputStream();
            if (item.isFormField()) {
                System.out.println("Form field " + name + " with value "
                        + convertInputStreamToString(stream) + " detected.");
            } else {
                System.out.println("File field " + name + " with file name "
                        + item.getName() + " detected.");
                // Process the input stream
            }
        });
      ...
}

If I can help diagnose the issue in any way I'm more than happy.



Reply via email to