I am uploading a file that I am viewing with input type="file" in my web application. The problem is that I get the size of the FileItem list as 0, although I can see all the information about the downloaded file in the section
request JakartaMutltiPartRequest file attribute
Here is the Java code that reads the file
public InputStream parseRequestStreamWithApache(HttpServletRequest request) throws FileUploadException, IOException { InputStream is = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); // here the item size is 0 ,i am not sure why i am not getting my file upload in browser with type="file" // but If inspect request in debugger i can see my file realted info in request--->JakartaMutltiPartRequest----->files attribute Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { is = item.getInputStream(); } } return is; }
EDIT:
Here is the JSP part:
<form NAME="form1" action="customer/customerManager!parseRequestStreamWithApache.action" ENCTYPE="multipart/form-data" method="post" > <TABLE > <tr> <th>Upload File</th> <td> <input name="fileUploadAttr" id="filePath" type="file" value=""> </td> <td > <Input type="submit" value ="uploadFile"/> </td> </tr> </TABLE> </form>
source share