Example usage for org.apache.commons.fileupload FileUpload setHeaderEncoding

List of usage examples for org.apache.commons.fileupload FileUpload setHeaderEncoding

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileUpload setHeaderEncoding.

Prototype

public void setHeaderEncoding(String encoding) 

Source Link

Document

Specifies the character encoding to be used when reading the headers of individual parts.

Usage

From source file:com.asual.summer.core.spring.RequestMultipartResolver.java

protected FileUpload prepareFileUpload(String encoding) {
    FileUpload fileUpload = getFileUpload();
    FileUpload actualFileUpload = fileUpload;
    if (encoding != null && !encoding.equals(fileUpload.getHeaderEncoding())) {
        actualFileUpload = newFileUpload(new StreamFileItemFactory());
        actualFileUpload.setSizeMax(fileUpload.getSizeMax());
        actualFileUpload.setHeaderEncoding(encoding);
    }//from   www  .ja v a  2s .  c o  m
    return actualFileUpload;
}

From source file:com.aspectran.web.support.multipart.inmemory.MemoryMultipartFormDataParser.java

@Override
public void parse(RequestAdapter requestAdapter) {
    try {//from  w  w w . jav a2 s .c  o m
        MemoryFileItemFactory factory = new MemoryFileItemFactory();
        if (maxInMemorySize > -1) {
            factory.setSizeThreshold(maxInMemorySize);
        }

        FileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding(requestAdapter.getEncoding());
        if (maxRequestSize > -1) {
            upload.setSizeMax(maxRequestSize);
        }
        if (maxFileSize > -1) {
            upload.setFileSizeMax(maxFileSize);
        }

        Map<String, List<FileItem>> fileItemListMap;
        try {
            RequestContext requestContext = createRequestContext(requestAdapter.getAdaptee());
            fileItemListMap = upload.parseParameterMap(requestContext);
        } catch (SizeLimitExceededException e) {
            log.warn("Maximum request length exceeded; multipart.maxRequestSize: " + maxRequestSize);
            requestAdapter.setMaxLengthExceeded(true);
            return;
        } catch (FileSizeLimitExceededException e) {
            log.warn("Maximum file length exceeded; multipart.maxFileSize: " + maxFileSize);
            requestAdapter.setMaxLengthExceeded(true);
            return;
        }
        parseMultipartParameters(fileItemListMap, requestAdapter);
    } catch (Exception e) {
        throw new MultipartRequestParseException("Failed to parse multipart request; nested exception is " + e,
                e);
    }
}

From source file:com.aspectran.web.support.multipart.commons.CommonsMultipartFormDataParser.java

@Override
public void parse(RequestAdapter requestAdapter) {
    try {//from   w ww.  ja v  a  2s.  c  om
        DiskFileItemFactory factory = new DiskFileItemFactory();
        if (maxInMemorySize > -1) {
            factory.setSizeThreshold(maxInMemorySize);
        }

        if (tempDirectoryPath != null) {
            File repository = new File(tempDirectoryPath);
            if (!repository.exists() && !repository.mkdirs()) {
                throw new IllegalArgumentException(
                        "Given tempDirectoryPath [" + tempDirectoryPath + "] could not be created");
            }
            factory.setRepository(repository);
        }

        FileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding(requestAdapter.getEncoding());
        if (maxRequestSize > -1L) {
            upload.setSizeMax(maxRequestSize);
        }
        if (maxFileSize > -1L) {
            upload.setFileSizeMax(maxFileSize);
        }

        Map<String, List<FileItem>> fileItemListMap;

        try {
            RequestContext requestContext = createRequestContext(requestAdapter.getAdaptee());
            fileItemListMap = upload.parseParameterMap(requestContext);
        } catch (FileUploadBase.SizeLimitExceededException e) {
            log.warn("Maximum request length exceeded; multipart.maxRequestSize: " + maxRequestSize);
            requestAdapter.setMaxLengthExceeded(true);
            return;
        } catch (FileUploadBase.FileSizeLimitExceededException e) {
            log.warn("Maximum file length exceeded; multipart.maxFileSize: " + maxFileSize);
            requestAdapter.setMaxLengthExceeded(true);
            return;
        }

        parseMultipartParameters(fileItemListMap, requestAdapter);
    } catch (Exception e) {
        throw new MultipartRequestParseException("Could not parse multipart servlet request", e);
    }
}

From source file:de.uhh.l2g.upload.MyCommonsFileUploadSupport.java

/**
 * Prepare file upload.//  ww  w  . j  av  a2  s  .  co  m
 *
 * @param encoding the encoding
 * @return the file upload
 */
@Override
protected FileUpload prepareFileUpload(String encoding) {
    FileUpload fileUpload = getFileUpload();
    FileUpload actualFileUpload = fileUpload;

    // Use new temporary FileUpload instance if the request specifies
    // its own encoding that does not match the default encoding.
    if (encoding != null && !encoding.equals(fileUpload.getHeaderEncoding())) {
        actualFileUpload = newFileUpload(getFileItemFactory());
        actualFileUpload.setSizeMax(fileUpload.getSizeMax());
        actualFileUpload.setHeaderEncoding(encoding);
    }

    return actualFileUpload;
}

From source file:net.formio.upload.AbstractMultipartRequestParser.java

/**
 * Convenience method for common configuration of {@link FileUpload}.
 * Can be called from {@link #parseRequest(FileItemFactory, long, long, String)} method
 * that must be implemented by subclasses.
 * @param upload//from   w w  w  . ja v a  2s  . c  o m
 * @param singleFileSizeMax
 * @param totalSizeMax
 * @param defaultEncoding
 */
protected void configureUpload(final FileUpload upload, long singleFileSizeMax, long totalSizeMax,
        String defaultEncoding) {
    // set overall request size constraint
    // maximum allowed size of a single uploaded file
    upload.setFileSizeMax(singleFileSizeMax);
    // maximum allowed size of the whole request
    upload.setSizeMax(totalSizeMax);
    if (defaultEncoding != null) {
        upload.setHeaderEncoding(defaultEncoding);
    }
}

From source file:de.uhh.l2g.upload.MyCommonsPortletMultipartResolver.java

/**
 * Prepare file upload./*from   w w w . j a  v a  2  s .  c  o m*/
 *
 * @param encoding the encoding
 * @return the file upload
 */
@Override
protected FileUpload prepareFileUpload(String encoding) {
    FileUpload fileUpload = getFileUpload();
    FileUpload actualFileUpload = fileUpload;
    // Use new temporary FileUpload instance if the request specifies
    // its own encoding that does not match the default encoding.
    if (encoding != null && !encoding.equals(fileUpload.getHeaderEncoding())) {
        actualFileUpload = newFileUpload(getFileItemFactory());
        actualFileUpload.setSizeMax(fileUpload.getSizeMax());
        actualFileUpload.setHeaderEncoding(encoding);
    }

    return actualFileUpload;
}

From source file:cn.clxy.studio.common.web.multipart.GFileUploadSupport.java

/**
 * Determine an appropriate FileUpload instance for the given encoding.
 * <p>/*  ww  w  .j  a va  2s .c  o m*/
 * Default implementation returns the shared FileUpload instance if the encoding matches, else creates a new
 * FileUpload instance with the same configuration other than the desired encoding.
 *
 * @param encoding the character encoding to use
 * @return an appropriate FileUpload instance.
 */
protected FileUpload prepareFileUpload(String encoding) {
    FileUpload fileUpload = getFileUpload();
    FileUpload actualFileUpload = fileUpload;

    // Use new temporary FileUpload instance if the request specifies
    // its own encoding that does not match the default encoding.
    if (encoding != null && !encoding.equals(fileUpload.getHeaderEncoding())) {
        actualFileUpload = newFileUpload(getFileItemFactory());
        actualFileUpload.setSizeMax(fileUpload.getSizeMax());
        actualFileUpload.setHeaderEncoding(encoding);
    }

    return actualFileUpload;
}

From source file:org.nuxeo.ecm.platform.ui.web.util.FileUploadHelper.java

/**
 * Parses a Multipart Servlet Request to extract blobs
 *///w ww  .  j  a  v a  2  s .co  m
public static List<Blob> parseRequest(HttpServletRequest request) throws FileUploadException, IOException {
    List<Blob> blobs = new ArrayList<Blob>();

    if (request instanceof MultipartRequest) {
        MultipartRequest seamMPRequest = (MultipartRequest) request;

        Enumeration<String> names = seamMPRequest.getParameterNames();
        while (names.hasMoreElements()) {
            String name = names.nextElement();
            try (InputStream in = seamMPRequest.getFileInputStream(name)) {
                if (in != null) {
                    Blob blob = Blobs.createBlob(in);
                    blob.setFilename(seamMPRequest.getFileName(name));
                    blobs.add(blob);
                }
            }
        }
    } else {
        // fallback method for non-seam servlet request
        FileUpload fu = new FileUpload(new DiskFileItemFactory());
        String fileNameCharset = request.getHeader("FileNameCharset");
        if (fileNameCharset != null) {
            fu.setHeaderEncoding(fileNameCharset);
        }
        ServletRequestContext requestContext = new ServletRequestContext(request);
        List<FileItem> fileItems = fu.parseRequest(requestContext);
        for (FileItem item : fileItems) {
            try (InputStream is = item.getInputStream()) {
                Blob blob = Blobs.createBlob(is);
                blob.setFilename(item.getName());
                blobs.add(blob);
            }
        }
    }
    return blobs;
}

From source file:org.seasar.cubby.controller.impl.MultipartRequestParser.java

@SuppressWarnings("unchecked")
Map<String, Object[]> getMultipartParameterMap(final FileUpload fileUpload,
        final RequestContext requestContext) {
    try {/*from ww w.j a  va  2s .c o m*/
        final String encoding = requestContext.getCharacterEncoding();
        fileUpload.setHeaderEncoding(encoding);
        final List<FileItem> items = fileUpload.parseRequest(requestContext);

        // Field????
        final Map<String, Object[]> parameterMap = toParameterMap(encoding, items);

        return parameterMap;
    } catch (final FileUploadException e) {
        final String messageCode;
        final Object[] args;
        if (e instanceof SizeLimitExceededException) {
            final SizeLimitExceededException sle = (SizeLimitExceededException) e;
            messageCode = "ECUB0202";
            args = new Object[] { sle.getPermittedSize(), sle.getActualSize() };
        } else {
            messageCode = "ECUB0201";
            args = new Object[] { e };
        }
        throw new RequestParseException(format(messageCode, args), e);
    } catch (final IOException e) {
        throw new RequestParseException(e);
    }
}

From source file:org.springframework.web.multipart.commons.CommonsFileUploadSupport.java

/**
 * Determine an appropriate FileUpload instance for the given encoding.
 * <p>Default implementation returns the shared FileUpload instance
 * if the encoding matches, else creates a new FileUpload instance
 * with the same configuration other than the desired encoding.
 * @param encoding the character encoding to use
 * @return an appropriate FileUpload instance.
 *//*w  w  w  . ja  va2  s.  com*/
protected FileUpload prepareFileUpload(@Nullable String encoding) {
    FileUpload fileUpload = getFileUpload();
    FileUpload actualFileUpload = fileUpload;

    // Use new temporary FileUpload instance if the request specifies
    // its own encoding that does not match the default encoding.
    if (encoding != null && !encoding.equals(fileUpload.getHeaderEncoding())) {
        actualFileUpload = newFileUpload(getFileItemFactory());
        actualFileUpload.setSizeMax(fileUpload.getSizeMax());
        actualFileUpload.setFileSizeMax(fileUpload.getFileSizeMax());
        actualFileUpload.setHeaderEncoding(encoding);
    }

    return actualFileUpload;
}