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)