Example usage for org.apache.commons.fileupload FileUploadBase parseRequest

List of usage examples for org.apache.commons.fileupload FileUploadBase parseRequest

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileUploadBase parseRequest.

Prototype

public List  parseRequest(HttpServletRequest req) throws FileUploadException 

Source Link

Document

Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant <code>multipart/form-data</code> stream.

Usage

From source file:com.cyclopsgroup.waterview.impl.servlet.MultipartServletRequestParameters.java

/**
 * Constructor for class MultipartServletRequestValueParser
 *
 * @param request Http request object// w w w  .  ja v a 2 s .co  m
 * @param fileUpload File upload object
 * @throws FileUploadException Throw it out
 */
public MultipartServletRequestParameters(HttpServletRequest request, FileUploadBase fileUpload)
        throws FileUploadException {
    for (Object item : fileUpload.parseRequest(request)) {
        FileItem fileItem = (FileItem) item;
        if (fileItem.isFormField()) {
            add(fileItem.getFieldName(), fileItem.getString());
        } else {
            List<FileItem> list = fileItems.get(fileItem.getFieldName());
            if (list == null) {
                list = new ArrayList<FileItem>();
                fileItems.put(fileItem.getFieldName(), list);
            }
            list.add(fileItem);
        }
    }
}

From source file:com.cyclopsgroup.waterview.servlet.MultipartServletRequestValueParser.java

/**
 * Constructor for class MultipartServletRequestValueParser
 *
 * @param request Http request object/*from   w w w  .  jav a  2s. c o  m*/
 * @param fileUpload File upload object
 * @throws FileUploadException Throw it out
 */
public MultipartServletRequestValueParser(HttpServletRequest request, FileUploadBase fileUpload)
        throws FileUploadException {
    List files = fileUpload.parseRequest(request);
    for (Iterator i = files.iterator(); i.hasNext();) {
        FileItem fileItem = (FileItem) i.next();
        if (fileItem.isFormField()) {
            add(fileItem.getFieldName(), fileItem.getString());
        } else {
            fileItems.put(fileItem.getFieldName(), fileItem);
        }
    }
}

From source file:com.cyclopsgroup.waterview.servlet.MultipartServletRequestParameters.java

/**
 * Constructor for class MultipartServletRequestValueParser
 *
 * @param request Http request object//from   ww  w .j  a v  a  2  s .c  o m
 * @param fileUpload File upload object
 * @throws FileUploadException Throw it out
 */
public MultipartServletRequestParameters(HttpServletRequest request, FileUploadBase fileUpload)
        throws FileUploadException {
    List files = fileUpload.parseRequest(request);
    for (Iterator i = files.iterator(); i.hasNext();) {
        FileItem fileItem = (FileItem) i.next();
        if (fileItem.isFormField()) {
            add(fileItem.getFieldName(), fileItem.getString());
        } else {
            fileItems.put(fileItem.getFieldName(), fileItem);
        }
    }
}

From source file:com.github.davidcarboni.encryptedfileupload.StreamingTest.java

private List<FileItem> parseUpload(InputStream pStream, int pLength) throws FileUploadException {
    String contentType = "multipart/form-data; boundary=---1234";

    FileUploadBase upload = new ServletFileUpload();
    upload.setFileItemFactory(new EncryptedFileItemFactory());
    HttpServletRequest request = new MockHttpServletRequest(pStream, pLength, contentType);

    List<FileItem> fileItems = upload.parseRequest(new ServletRequestContext(request));
    return fileItems;
}

From source file:org.apache.click.service.CommonsFileUploadService.java

/**
 * @see FileUploadService#parseRequest(HttpServletRequest)
 *
 * @param request the servlet request//from   w w w .ja  v  a2s . co m
 * @return the list of FileItem instances parsed from the request
 * @throws FileUploadException if request cannot be parsed
 */
@SuppressWarnings("unchecked")
public List<FileItem> parseRequest(HttpServletRequest request) throws FileUploadException {

    Validate.notNull(request, "Null request parameter");

    FileItemFactory fileItemFactory = createFileItemFactory(request);

    FileUploadBase fileUpload = new ServletFileUpload();
    fileUpload.setFileItemFactory(fileItemFactory);

    if (fileSizeMax > 0) {
        fileUpload.setFileSizeMax(fileSizeMax);
    }
    if (sizeMax > 0) {
        fileUpload.setSizeMax(sizeMax);
    }

    ServletRequestContext requestContext = new ServletRequestContext(request);

    return fileUpload.parseRequest(requestContext);
}

From source file:org.apache.wicket.protocol.http.servlet.MultipartServletWebRequestImpl.java

@Override
public void parseFileParts() throws FileUploadException {
    HttpServletRequest request = getContainerRequest();

    // The encoding that will be used to decode the string parameters
    // It should NOT be null at this point, but it may be
    // especially if the older Servlet API 2.2 is used
    String encoding = request.getCharacterEncoding();

    // The encoding can also be null when using multipart/form-data encoded forms.
    // In that case we use the [application-encoding] which we always demand using
    // the attribute 'accept-encoding' in wicket forms.
    if (encoding == null) {
        encoding = Application.get().getRequestCycleSettings().getResponseRequestEncoding();
    }//from  w  ww  . jav a 2s . co  m

    FileUploadBase fileUpload = newFileUpload(encoding);

    List<FileItem> items;

    if (wantUploadProgressUpdates()) {
        ServletRequestContext ctx = new ServletRequestContext(request) {
            @Override
            public InputStream getInputStream() throws IOException {
                return new CountingInputStream(super.getInputStream());
            }
        };
        totalBytes = request.getContentLength();

        onUploadStarted(totalBytes);
        try {
            items = fileUpload.parseRequest(ctx);
        } finally {
            onUploadCompleted();
        }
    } else {
        // try to parse the file uploads by using Apache Commons FileUpload APIs
        // because they are feature richer (e.g. progress updates, cleaner)
        items = fileUpload.parseRequest(new ServletRequestContext(request));
        if (items.isEmpty()) {
            // fallback to Servlet 3.0 APIs
            items = readServlet3Parts(request);
        }
    }

    // Loop through items
    for (final FileItem item : items) {
        // Get next item
        // If item is a form field
        if (item.isFormField()) {
            // Set parameter value
            final String value;
            if (encoding != null) {
                try {
                    value = item.getString(encoding);
                } catch (UnsupportedEncodingException e) {
                    throw new WicketRuntimeException(e);
                }
            } else {
                value = item.getString();
            }

            addParameter(item.getFieldName(), value);
        } else {
            List<FileItem> fileItems = files.get(item.getFieldName());
            if (fileItems == null) {
                fileItems = new ArrayList<>();
                files.put(item.getFieldName(), fileItems);
            }
            // Add to file list
            fileItems.add(item);
        }
    }
}