I'm using Oreilly MultipartRequest servlet to parse a forms multipart/form-data request as so:
String path = getServletContext().getRealPath("/tmp");
List uploadFiles = new ArrayList();
MultipartRequest multi  = new MultipartRequest(request, path, 50 * 1024 * 1024, "UTF-8");
Enumeration<String> params = multi.getParameterNames();
Enumeration<String> files = multi.getFileNames();
//retrieve text parameters
String param;
while(params .hasMoreElements()){
    param = params .nextElement();
    for(String occurence : multi.getParameterValues(param)){
        pageContext.setAttribute(param, occurence);
    }
}
//get files
String fileParam;
while(files.hasMoreElements()){
    fileParam = files.nextElement();
        uploadFiles.add(multi.getFile(fileParam));
}
I'm able to get all the data, but in regards of files, I want to send them as an attachment, typically this is done as such (by parsing the request)
        ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
        try {
            List fileItemsList = servletFileUpload.parseRequest(request);
            Iterator it = fileItemsList.iterator();
            while (it.hasNext()){
                FileItem fileItem = (FileItem)it.next();
                if (fileItem.isFormField()){
                    messageBodyPart = new MimeBodyPart();
                    DataSource source = new FileDataSource(fileItem.getString());
                    messageBodyPart.setDataHandler(new DataHandler(source));
                    messageBodyPart.setFileName(fileItem.getFieldName());
                    multipart.addBodyPart(messageBodyPart);
                }
            }
        } catch(Exception e) {
            out.println(e.toString());
        }
Instead, I am creating a list of all files uploadFiles to upload. The problem is the attachment uses FileItem interface which allows me to get the contents of the file item as a String using getString(), whereas Oreilly MultipartRequest only returns the file as a File object. How can I use the content of the File Object similarly, or cast it into a FileItem object perhaps.
 
    