Example usage for org.springframework.web.multipart.commons CommonsMultipartFile CommonsMultipartFile

List of usage examples for org.springframework.web.multipart.commons CommonsMultipartFile CommonsMultipartFile

Introduction

In this page you can find the example usage for org.springframework.web.multipart.commons CommonsMultipartFile CommonsMultipartFile.

Prototype

public CommonsMultipartFile(FileItem fileItem) 

Source Link

Document

Create an instance wrapping the given FileItem.

Usage

From source file:org.openremote.modeler.utils.MultipartFileUtil.java

@SuppressWarnings("unchecked")
public static MultipartFile getMultipartFileFromRequest(HttpServletRequest request, String fileFieldName) {
    MultipartFile multipartFile = null;/*from   w ww .jav  a  2s  .c  om*/
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List items = null;
    try {
        items = upload.parseRequest(request);
    } catch (FileUploadException e) {
        LOGGER.error("get InputStream from httpServletRequest error.", e);
        e.printStackTrace();
    }
    if (items == null) {
        return null;
    }
    Iterator it = items.iterator();
    FileItem fileItem = null;
    while (it.hasNext()) {
        fileItem = (FileItem) it.next();
        if (!fileItem.isFormField() && fileFieldName != null && fileFieldName.equals(fileItem.getFieldName())) {
            break;
        }
    }
    if (fileItem != null) {
        multipartFile = new CommonsMultipartFile(fileItem);
    }
    return multipartFile;
}

From source file:org.owasp.dependencytrack.controller.ApplicationController.java

public MultipartFile _createMultipartFile() {

    try {/*from w w  w  .jav a 2s . c  o  m*/

        File file = new File("");
        DiskFileItem fileItem = new DiskFileItem("file", "text/plain", false, file.getName(),
                (int) file.length(), file.getParentFile());
        fileItem.getOutputStream();
        MultipartFile multipartFile = new CommonsMultipartFile(fileItem);
        return multipartFile;

    } catch (IOException e) {
        e.printStackTrace();
    }

    return null;
}

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

/**
 * Create a {@link CommonsMultipartFile} wrapper for the given Commons {@link FileItem}.
 * @param fileItem the Commons FileItem to wrap
 * @return the corresponding CommonsMultipartFile (potentially a custom subclass)
 * @since 4.3.5//from  ww w  .j ava 2 s . co  m
 * @see #setPreserveFilename(boolean)
 * @see CommonsMultipartFile#setPreserveFilename(boolean)
 */
protected CommonsMultipartFile createMultipartFile(FileItem fileItem) {
    CommonsMultipartFile multipartFile = new CommonsMultipartFile(fileItem);
    multipartFile.setPreserveFilename(this.preserveFilename);
    return multipartFile;
}

From source file:ubic.gemma.web.util.upload.CommonsMultipartMonitoredResolver.java

@Override
public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException {
    String enc = determineEncoding(request);

    ServletFileUpload fileUpload = this.newFileUpload(request);
    DiskFileItemFactory newFactory = (DiskFileItemFactory) fileUpload.getFileItemFactory();
    fileUpload.setSizeMax(sizeMax);/* w ww .ja  va 2 s.  c o m*/
    newFactory.setRepository(this.uploadTempDir);
    fileUpload.setHeaderEncoding(enc);

    try {
        MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<>();
        Map<String, String[]> multipartParams = new HashMap<>();

        // Extract multipart files and multipart parameters.
        List<?> fileItems = fileUpload.parseRequest(request);
        for (Object fileItem1 : fileItems) {
            FileItem fileItem = (FileItem) fileItem1;
            if (fileItem.isFormField()) {
                String value;
                String fieldName = fileItem.getFieldName();

                try {
                    value = fileItem.getString(enc);
                } catch (UnsupportedEncodingException ex) {
                    logger.warn("Could not decode multipart item '" + fieldName + "' with encoding '" + enc
                            + "': using platform default");
                    value = fileItem.getString();
                }

                String[] curParam = multipartParams.get(fieldName);
                if (curParam == null) {
                    // simple form field
                    multipartParams.put(fieldName, new String[] { value });
                } else {
                    // array of simple form fields
                    String[] newParam = StringUtils.addStringToArray(curParam, value);
                    multipartParams.put(fieldName, newParam);
                }
            } else {
                // multipart file field
                MultipartFile file = new CommonsMultipartFile(fileItem);
                multipartFiles.set(file.getName(), file);
                if (logger.isDebugEnabled()) {
                    logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize()
                            + " bytes with original filename [" + file.getOriginalFilename() + "]");
                }
            }
        }
        return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParams, null);
    } catch (FileUploadException ex) {
        return new FailedMultipartHttpServletRequest(request, ex.getMessage());
    }
}