List of usage examples for org.apache.commons.fileupload.disk DiskFileItem getName
public String getName()
From source file:org.debux.webmotion.server.handler.ParametersMultipartHandler.java
@Override public void handle(Mapping mapping, Call call) { HttpContext context = call.getContext(); HttpServletRequest request = context.getRequest(); Map<String, Object> extractParameters = call.getExtractParameters(); boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { FileItemFactory fileItemFactory = new DiskFileItemFactory(0, null); ServletFileUpload upload = new ServletFileUpload(fileItemFactory); HttpSession session = request.getSession(); if (session != null) { log.debug("Set file upload listener"); FileProgressListener listener = new FileProgressListener(); upload.setProgressListener(listener); session.setAttribute(FileProgressListener.SESSION_ATTRIBUTE_NAME, listener); call.setFileUploadRequest(true); } else {/*from ww w. j a v a 2s .co m*/ log.warn("No session for file upload listener"); } try { List<DiskFileItem> items = upload.parseRequest(request); for (DiskFileItem item : items) { String fieldName = item.getFieldName(); if (item.isFormField()) { String fieldValue; try { fieldValue = item.getString("UTF-8"); } catch (UnsupportedEncodingException e) { fieldValue = item.getString(); } String[] values = (String[]) extractParameters.get(fieldName); if (values == null) { values = new String[] { fieldValue }; extractParameters.put(fieldName, values); } else { values = (String[]) ArrayUtils.add(values, fieldValue); extractParameters.put(fieldName, values); } } else { UploadFile uploadFile = new UploadFile(); File file = item.getStoreLocation(); uploadFile.setFile(file); String fileName = item.getName(); uploadFile.setName(fileName); long fileSize = item.getSize(); uploadFile.setSize(fileSize); String fileType = item.getContentType(); uploadFile.setContentType(fileType); extractParameters.put(fieldName, uploadFile); } } } catch (FileUploadException fue) { throw new WebMotionException("Error during upload file on server", fue); } } else { Map<String, String[]> parameters = context.getParameters(); extractParameters.putAll(parameters); } }
From source file:org.eclipse.rap.addons.fileupload.test.CommonsFileUpload_Test.java
@Test public void testUploadEmptyFileWithZeroThreshold() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(0, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); HttpServletRequest request = createFakeUploadRequest("", "text/empty", "empty.txt"); List items = upload.parseRequest(request); assertEquals(1, items.size());/*from ww w . j a v a2 s . c o m*/ DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("empty.txt", fileItem.getName()); assertEquals("text/empty", fileItem.getContentType()); assertEquals(0L, fileItem.getSize()); // Content and threshold is zero, empty file is not written assertFalse(fileItem.getStoreLocation().exists()); }
From source file:org.eclipse.rap.addons.fileupload.test.CommonsFileUpload_Test.java
@Test public void testUploadSmallerThanThreshold() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(100, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); HttpServletRequest request = createFakeUploadRequest("Hello World!\n", "text/plain", "hello.txt"); List items = upload.parseRequest(request); assertEquals(1, items.size());// ww w. jav a 2 s . co m DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("hello.txt", fileItem.getName()); assertEquals("text/plain", fileItem.getContentType()); assertEquals("Hello World!\n", fileItem.getString()); // Content is smaller than threshold, therefore file is not written assertFalse(fileItem.getStoreLocation().exists()); }
From source file:org.eclipse.rap.addons.fileupload.test.CommonsFileUpload_Test.java
@Test public void testUploadLongFile() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(100, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); StringBuffer content = new StringBuffer(600); for (int i = 0; i < 100; i++) { content.append("Hello\n"); }/*ww w . j a va 2 s . c om*/ HttpServletRequest request = createFakeUploadRequest(content.toString(), "text/plain", "long.txt"); List items = upload.parseRequest(request); DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("long.txt", fileItem.getName()); assertEquals("text/plain", fileItem.getContentType()); assertEquals(600, fileItem.getSize()); assertTrue(fileItem.getStoreLocation().exists()); }
From source file:org.eclipse.rap.fileupload.test.CommonsFileUpload_Test.java
@Test public void testUploadEmptyFileWithZeroThreshold() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(0, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); HttpServletRequest request = createFakeUploadRequest("", "text/empty", "empty.txt"); List<FileItem> items = upload.parseRequest(request); assertEquals(1, items.size());//from w w w .ja v a2 s .c o m DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("empty.txt", fileItem.getName()); assertEquals("text/empty", fileItem.getContentType()); assertEquals(0L, fileItem.getSize()); // Content and threshold is zero, empty file is not written assertFalse(fileItem.getStoreLocation().exists()); }
From source file:org.eclipse.rap.fileupload.test.CommonsFileUpload_Test.java
@Test public void testUploadSmallerThanThreshold() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(100, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); HttpServletRequest request = createFakeUploadRequest("Hello World!\n", "text/plain", "hello.txt"); List<FileItem> items = upload.parseRequest(request); assertEquals(1, items.size());/*from www . j a v a2 s . c o m*/ DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("hello.txt", fileItem.getName()); assertEquals("text/plain", fileItem.getContentType()); assertEquals("Hello World!\n", fileItem.getString()); // Content is smaller than threshold, therefore file is not written assertFalse(fileItem.getStoreLocation().exists()); }
From source file:org.eclipse.rap.fileupload.test.CommonsFileUpload_Test.java
@Test public void testUploadLongFile() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(100, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); StringBuffer content = new StringBuffer(600); for (int i = 0; i < 100; i++) { content.append("Hello\n"); }//w w w. jav a 2 s . c om HttpServletRequest request = createFakeUploadRequest(content.toString(), "text/plain", "long.txt"); List<FileItem> items = upload.parseRequest(request); DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("long.txt", fileItem.getName()); assertEquals("text/plain", fileItem.getContentType()); assertEquals(600, fileItem.getSize()); assertTrue(fileItem.getStoreLocation().exists()); }
From source file:org.eclipse.rap.rwt.supplemental.fileupload.internal.FileUploadProcessor.java
void handleFileUpload(HttpServletRequest request, HttpServletResponse response) throws IOException { try {//from w w w . ja v a 2s .c om DiskFileItem fileItem = readUploadedFileItem(request); if (fileItem != null) { String fileName = stripFileName(fileItem.getName()); String contentType = fileItem.getContentType(); long contentLength = fileItem.getSize(); tracker.setFileName(fileName); tracker.setContentType(contentType); FileUploadReceiver receiver = handler.getReceiver(); IFileUploadDetails details = new FileUploadDetails(fileName, contentType, contentLength); receiver.receive(fileItem.getInputStream(), details); tracker.handleFinished(); } else { String errorMessage = NO_FILE_UPLOAD_DATA_FOUND_IN_REQUEST; tracker.setException(new Exception(errorMessage)); tracker.handleFailed(); response.sendError(HttpServletResponse.SC_BAD_REQUEST, errorMessage); } } catch (FileSizeLimitExceededException exception) { // Note: Apache fileupload 1.2 will throw an exception after the // upload is finished. // Therefore we handle it in the progress listener and ignore this // kind of exceptions here // https://issues.apache.org/jira/browse/FILEUPLOAD-145 response.sendError(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE, exception.getMessage()); } catch (Exception exception) { tracker.setException(exception); tracker.handleFailed(); response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, exception.getMessage()); } }
From source file:org.eclipse.rap.rwt.supplemental.fileupload.test.CommonsFileUpload_Test.java
public void testUploadEmptyFileWithZeroThreshold() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(0, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); HttpServletRequest request = FileUploadTestUtil.createFakeUploadRequest("", "text/empty", "empty.txt"); List items = upload.parseRequest(request); assertEquals(1, items.size());/*from w ww. ja va 2 s.c om*/ DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("empty.txt", fileItem.getName()); assertEquals("text/empty", fileItem.getContentType()); assertEquals(0L, fileItem.getSize()); // Content and threshold is zero, empty file is not written assertFalse(fileItem.getStoreLocation().exists()); }
From source file:org.eclipse.rap.rwt.supplemental.fileupload.test.CommonsFileUpload_Test.java
public void testUploadSmallerThanThreshold() throws FileUploadException { FileItemFactory factory = new DiskFileItemFactory(100, tempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); HttpServletRequest request = FileUploadTestUtil.createFakeUploadRequest("Hello World!\n", "text/plain", "hello.txt"); List items = upload.parseRequest(request); assertEquals(1, items.size());//from ww w. j a v a 2 s . c o m DiskFileItem fileItem = (DiskFileItem) items.get(0); assertEquals("hello.txt", fileItem.getName()); assertEquals("text/plain", fileItem.getContentType()); assertEquals("Hello World!\n", fileItem.getString()); // Content is smaller than threshold, therefore file is not written assertFalse(fileItem.getStoreLocation().exists()); }