protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { if (item.isFormField()) { // Process regular form field (input type="text|radio|checkbox|etc", select, etc). String fieldName = item.getFieldName(); String fieldValue = item.getString(); // ... (do your job here) } else { // Process form file field (input type="file"). String fieldName = item.getFieldName(); String fileName = FilenameUtils.getName(item.getName()); InputStream fileContent = item.getInputStream(); // ... (do your job here) } } } catch (FileUploadException e) { throw new ServletException("Cannot parse multipart request.", e); } // ... }
if (fileItem.isFormField()) { String value; String partEncoding = determineEncoding(fileItem.getContentType(), encoding); try { value = fileItem.getString(partEncoding); logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + partEncoding + "': using platform default"); value = fileItem.getString(); String[] curParam = multipartParameters.get(fileItem.getFieldName()); if (curParam == null) { multipartParameters.put(fileItem.getFieldName(), new String[] {value});
@SuppressWarnings("unchecked") private void parseRequest(HttpServletRequest request, ServletFileUpload servletFileUpload) throws IOException { try { List<FileItem> fileItems = servletFileUpload.parseRequest(request); for (FileItem item : fileItems) { if (item.isFormField()) { addFormParam(item); } else { addFileParam(item); } } } catch (FileUploadException e) { LOGGER.log(Level.SEVERE, "Error in parsing fileupload request", e); throw new IOException(e.getMessage(), e); } }
//Handle File Upload for the attachment ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); try{ List fileItemsList = servletFileUpload.parseRequest(request); //TODO: Take datafile input from the field and pass the file name so that we can view the file name Iterator it = fileItemsList.iterator(); while (it.hasNext()){ FileItem fileItem = (FileItem)it.next(); if (fileItem.isFormField()){ /* The file item contains a simple name-value pair of a form field */ } else{ //do what you want with the file}
List<FileItem> multiparts = new ServletFileUpload( new DiskFileItemFactory()).parseRequest(request); for(FileItem item : multiparts){ if(!item.isFormField()){ String name = new File(item.getName()).getName(); } }
/** * This is what the browser does if you submit the form without choosing a file. */ @Test public void testEmptyFile() throws UnsupportedEncodingException, FileUploadException { List<FileItem> fileItems = Util.parseUpload (upload, "-----1234\r\n" + "Content-Disposition: form-data; name=\"file\"; filename=\"\"\r\n" + "\r\n" + "\r\n" + "-----1234--\r\n"); assertEquals(1, fileItems.size()); FileItem file = fileItems.get(0); assertFalse(file.isFormField()); assertEquals("", file.getString()); assertEquals("", file.getName()); }
/** * Test construction of a regular text field. */ @Test public void testTextFieldConstruction() { FileItemFactory factory = createFactory(null); String textFieldName = "textField"; FileItem item = factory.createItem( textFieldName, textContentType, true, null ); assertNotNull(item); assertEquals(item.getFieldName(), textFieldName); assertEquals(item.getContentType(), textContentType); assertTrue(item.isFormField()); assertNull(item.getName()); }
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { if (item.isFormField()) { // Process regular field. } else { // Process uploaded file. } }
String fileNames = ""; //to keep list of filenames for(FileItem item : multiparts){ if(!item.isFormField()){ fileNames += item.getName() + "; "; //add filename to string String name = new File(item.getName()).getName(); item.write( new File(UPLOAD_DIRECTORY + File.separator + name)); } } ..... ..... request.setAttribute("message", "File(s) Uploaded Successfully: " + fileNames );
public Map<String, Object> parseMultipart(final HttpServletRequest request) throws IOException, ServletException { final ServletFileUpload upload = new ServletFileUpload(this._uploadItemFactory); List<FileItem> items = null; try { items = upload.parseRequest(request); } catch (final FileUploadException e) { throw new ServletException(e); } final Map<String, Object> params = new HashMap<>(); for (final FileItem item : items) { if (item.isFormField()) { params.put(item.getFieldName(), item.getString()); } else { params.put(item.getFieldName(), item); } } return params; }
if (fileItem.isFormField()) { String value; String partEncoding = determineEncoding(fileItem.getContentType(), encoding); try { value = fileItem.getString(partEncoding); logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + partEncoding + "': using platform default"); value = fileItem.getString(); String[] curParam = multipartParameters.get(fileItem.getFieldName()); if (curParam == null) { multipartParameters.put(fileItem.getFieldName(), new String[] {value});
FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); // Process the uploaded form items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { // ** here you get the non-file parameters ** } else { processUploadedFile(item); } }
List<FileItem> multiparts = new ServletFileUpload( new DiskFileItemFactory()).parseRequest(request); for(FileItem item : multiparts){ if(!item.isFormField()){ String name = new File(item.getName()).getName(); } }
/** * 添加<code>FileItem</code>。 * * @param key 参数名 * @param value 参数值 */ public void add(String key, FileItem value) { if (value.isFormField()) { add(key, value.getString()); } else { // 忽略空的上传项。 if (!StringUtil.isEmpty(value.getName()) || value.getSize() > 0) { add(key, (Object) value); } } }
/** * Test construction of a file field. */ @Test public void testFileFieldConstruction() { FileItemFactory factory = createFactory(null); String fileFieldName = "fileField"; String fileName = "originalFileName"; FileItem item = factory.createItem( fileFieldName, fileContentType, false, fileName ); assertNotNull(item); assertEquals(item.getFieldName(), fileFieldName); assertEquals(item.getContentType(), fileContentType); assertFalse(item.isFormField()); assertEquals(item.getName(), fileName); }
private int parseRequestAsFileItems() throws FileUploadException { int fileCount = 0; if (fileItems == null) { fileItems = servletFileUpload.parseRequest(httpServletRequest); } for (FileItem fileItem : fileItems) { if (!fileItem.isFormField()) { ++fileCount; } } return fileCount; }
if (ServletFileUpload.isMultipartContent(request)) { try { List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : multiparts) { if (!item.isFormField()) {
for (FileItem item : formItems) { if (item.isFormField()) { // Process regular form field (input type="text|radio|checkbox|etc", select, etc). String fieldname = item.getFieldName(); String fieldvalue = item.getString(); // ... (do your job here) } else { // Process form file field (input type="file"). String fieldname = item.getFieldName(); String filename = FilenameUtils.getName(item.getName()); InputStream filecontent = item.getInputStream(); // ... (do your job here) } }
assertEquals("field1", field1.getFieldName()); assertTrue(field1.isFormField()); assertEquals("fieldValue", field1.getString()); assertEquals("submitName.x", submitX.getFieldName()); assertTrue(submitX.isFormField()); assertEquals("42", submitX.getString()); assertEquals("submitName.y", submitY.getFieldName()); assertTrue(submitY.isFormField()); assertEquals("21", submitY.getString()); assertEquals("field2", field2.getFieldName()); assertTrue(field2.isFormField()); assertEquals("fieldValue2", field2.getString());
// Create a factory for disk-based file items FileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Parse the request List /* FileItem */ items = upload.parseRequest(request); // Process the uploaded items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { processFormField(item); } else { processUploadedFile(item); } }