Hello, I've tried to check this one :)
Modified this test: commons-fileupload2-jakarta-servlet5/src/test/java/org/apache/commons/fileupload2/jakarta/servlet5/JakartaServletFileUploadTest.java Add this block at the bottom: ``` final var itemCount = new AtomicInteger(0); upload.getItemIterator(new JakartaMockServletHttpRequest(bytes, Constants.CONTENT_TYPE)).forEachRemaining(item -> { String name = item.getFieldName(); InputStream stream = item.getInputStream(); if (item.isFormField()) { System.out.println("Form field " + name + " with value " + " detected."); } else { System.out.println("File field " + name + " with file name " + item.getName() + " detected."); // Process the input stream } }); assertEquals(4, itemCount.get()); ``` The test is GREEN BUT if i try to reuse previously created request like this: ``` upload.getItemIterator(request).forEachRemaining(item -> { ``` The test will fail Is it be possible request was already iterated before `forEachRemaining` was called? On Thu, 28 Sept 2023 at 08:31, Gary Gregory <garydgreg...@gmail.com> wrote: > > Hi, > > The best way to help would be to provide a PR on GitHub with a failing > test, and if you find it, a fix. > > Gary > > > On Wed, Sep 27, 2023, 7:33 PM Ian Evans <ian_robert_ev...@hotmail.com> > wrote: > > > 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. > > > > > > > > -- Best regards, Maxim --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org