private void parseForm() { try{ // Create a factory for disk-based file items FileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); // Parse the request List items = upload.parseRequest(_request); // Process the uploaded items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField() && !item.getName().equals("")) { fileWasUploaded = true; writeFileToDisk(item); } else { //process a form field and put in our Hashtable of values String name = item.getFieldName(); String value = new String(item.getString().getBytes("ISO-8859-1"), "UTF-8"); formKVpair.put(name, value); } } } catch (Exception fue) { System.out.println("Error processing file for upload: " +fue.getMessage()); } }