Example usage for org.apache.commons.fileupload.disk DiskFileItem getName

List of usage examples for org.apache.commons.fileupload.disk DiskFileItem getName

Introduction

In this page you can find the example usage for org.apache.commons.fileupload.disk DiskFileItem getName.

Prototype

public String getName() 

Source Link

Document

Returns the original filename in the client's filesystem.

Usage

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());
}