Rob Tompkins created FILEUPLOAD-353:
---------------------------------------

             Summary: JakartaServletFileUpload.getItemIterator() not working in 
2.0.0-M1
                 Key: FILEUPLOAD-353
                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-353
             Project: Commons FileUpload
          Issue Type: Bug
            Reporter: Rob Tompkins
            Assignee: Rob Tompkins


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
           }
       });
      ...
}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to