I had a java application with jetty that allowed users to upload files with an http request.
The method for uploading the files had something like this
ServletFileUpload upload = setProgressListeners(currentSessionUserId);
List<FileItem> multipartItems = new ArrayList<>();
try {
multipartItems = upload.parseRequest(request);
} catch (FileUploadException e) {
logger.error("Error uploading file: ", e);
}
And the method setProgressListeners is this:
private ServletFileUpload setProgressListeners(String ownerId) {
FileItemFactory factory = new DiskFileItemFactory(0, Ambient.uploadTmpFolder);
ServletFileUpload upload = new ServletFileUpload(factory);
FileUploadProgressListener progressListener = new FileUploadProgressListener();
upload.setProgressListener(progressListener);
HttpSession session = request.getSession();
session.setAttribute(ownerId, progressListener);
String currentUploads = (String) session.getAttribute("currentUploads");
if (currentUploads == null) {
currentUploads = "";
}
currentUploads += ownerId + "/";
session.setAttribute("currentUploads", currentUploads);
return upload;
}
Where ServletFileUpload and request ( HttpServletRequest ) come from the package javax...
I recently updated jdk version to java 11 and now i migrated from javax... to jakarta.... Everything works (all other normal requests) except the part where i try to upload the file and keep progress of the upload.
Now the part multipartItems = upload.parseRequest(request); requires a request of type javax.servlet.http.HttpServletRequest while i have type jakarta.servlet.http.HttpServletRequest.
I could not find a new package with ServletFileUpload or anything similar.
How can i "migrate" that part of code as well? If you need any more info let me know. Thanks!
EDIT: Maybe it could also be useful to know where did the classes org.apache.commons.fileupload.disk.DiskFileItem, org.apache.commons.fileupload.servlet.ServletFileUpload and org.apache.commons.fileupload.FileItem ended up being or if they should be still used...because i used those to then save the files on disk after setting up the upload progress listener.