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

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

Introduction

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

Prototype

boolean isFormField

To view the source code for org.apache.commons.fileupload.disk DiskFileItem isFormField.

Click Source Link

Document

Whether or not this item is a simple form field.

Usage

From source file:org.apache.axis2.builder.MultipartFormDataBuilder.java

private MultipleEntryHashMap getParameterMap(RequestContext request, String charSetEncoding)
        throws FileUploadException {

    MultipleEntryHashMap parameterMap = new MultipleEntryHashMap();

    List items = parseRequest(request);
    Iterator iter = items.iterator();
    while (iter.hasNext()) {
        DiskFileItem diskFileItem = (DiskFileItem) iter.next();

        boolean isFormField = diskFileItem.isFormField();

        Object value;// w  w w .j a v  a2s .c o m
        try {
            if (isFormField) {
                value = getTextParameter(diskFileItem, charSetEncoding);
            } else {
                value = getFileParameter(diskFileItem);
            }
        } catch (Exception ex) {
            throw new FileUploadException(ex.getMessage());
        }
        parameterMap.put(diskFileItem.getFieldName(), value);
    }

    return parameterMap;
}

From source file:org.datacleaner.monitor.server.media.FileUploadServlet.java

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    clearSession(req);/*from  w  w  w .  j  a  v  a2s  .com*/

    File tempFolder = FileHelper.getTempDir();
    try {
        File subDirectory = new File(tempFolder, ".datacleaner_upload");
        if (subDirectory.mkdirs()) {
            tempFolder = subDirectory;
        }
    } catch (Exception e) {
        logger.warn("Could not create subdirectory in temp folder", e);
    }

    final FileItemFactory fileItemFactory = new DiskFileItemFactory(0, tempFolder);
    final ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);
    servletFileUpload.setFileSizeMax(FILE_SIZE_MAX);
    servletFileUpload.setSizeMax(REQUEST_SIZE_MAX);

    final List<Object> resultFileElements = new ArrayList<Object>();
    final HttpSession session = req.getSession();

    try {
        int index = 0;
        @SuppressWarnings("unchecked")
        final List<DiskFileItem> items = servletFileUpload.parseRequest(req);
        for (DiskFileItem item : items) {
            if (item.isFormField()) {
                logger.warn("Ignoring form field in request: {}", item);
            } else {
                final String sessionKey = "file_upload_" + index;
                final File file = item.getStoreLocation();

                String filename = toFilename(item.getName());
                logger.info("File '{}' uploaded to temporary location: {}", filename, file);

                session.setAttribute(sessionKey, file);

                final Map<String, String> resultItem = new LinkedHashMap<String, String>();
                resultItem.put("field_name", item.getFieldName());
                resultItem.put("file_name", filename);
                resultItem.put("content_type", item.getContentType());
                resultItem.put("size", Long.toString(item.getSize()));
                resultItem.put("session_key", sessionKey);

                resultFileElements.add(resultItem);

                index++;
            }
        }
    } catch (FileUploadException e) {
        logger.error("Unexpected file upload exception: " + e.getMessage(), e);
        throw new IOException(e);
    }

    final String contentType = req.getParameter("contentType");
    if (contentType == null) {
        resp.setContentType("application/json");
    } else {
        resp.setContentType(contentType);
    }

    final Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
    resultMap.put("status", "success");
    resultMap.put("files", resultFileElements);

    // write result as JSON
    final ObjectMapper objectMapper = new ObjectMapper();
    objectMapper.writeValue(resp.getOutputStream(), resultMap);
}

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 {//w w  w  .  java 2s .  c om
            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.rwt.supplemental.fileupload.internal.FileUploadProcessor.java

private DiskFileItem readUploadedFileItem(HttpServletRequest request) throws FileUploadException {
    ServletFileUpload upload = createUpload();
    DiskFileItem result = null;//from   w ww .  j a v  a  2s.c om
    List<?> uploadedItems = upload.parseRequest(request);
    // TODO [rst] Support multiple fields in multipart message
    if (uploadedItems.size() > 0) {
        // TODO [rst] Upload fails if the file is not the first field
        DiskFileItem fileItem = (DiskFileItem) uploadedItems.get(0);
        // Don't check for file size == 0 because this would prevent
        // uploading empty files
        if (!fileItem.isFormField()) {
            result = fileItem;
        }
    }
    return result;
}

From source file:org.infoglue.calendar.actions.CalendarUploadAbstractAction.java

public File getFile() {
    try {// w  w  w .j a v a2 s  . c  o m
        DiskFileItemFactory factory = new DiskFileItemFactory();
        // Configure the factory here, if desired.
        PortletFileUpload upload = new PortletFileUpload(factory);
        // Configure the uploader here, if desired.
        List fileItems = upload.parseRequest(ServletActionContext.getRequest());
        log.debug("fileItems:" + fileItems.size());
        Iterator i = fileItems.iterator();
        while (i.hasNext()) {
            Object o = i.next();
            DiskFileItem dfi = (DiskFileItem) o;
            log.debug("dfi:" + dfi.getFieldName());
            log.debug("dfi:" + dfi);

            if (!dfi.isFormField()) {
                String fieldName = dfi.getFieldName();
                String fileName = dfi.getName();
                String contentType = dfi.getContentType();
                boolean isInMemory = dfi.isInMemory();
                long sizeInBytes = dfi.getSize();

                log.debug("fieldName:" + fieldName);
                log.debug("fileName:" + fileName);
                log.debug("contentType:" + contentType);
                log.debug("isInMemory:" + isInMemory);
                log.debug("sizeInBytes:" + sizeInBytes);
                File uploadedFile = new File(getTempFilePath() + File.separator + fileName);
                dfi.write(uploadedFile);
                return uploadedFile;
            }

        }

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

    return file;
}

From source file:org.infoglue.calendar.actions.CreateResourceAction.java

/**
 * This is the entry point for the main listing.
 *//*  w ww.j  av  a 2s.c  o m*/

public String execute() throws Exception {
    log.debug("-------------Uploading file.....");

    File uploadedFile = null;
    String maxUploadSize = "";
    String uploadSize = "";

    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(2000000);
        //factory.setRepository(yourTempDirectory);

        PortletFileUpload upload = new PortletFileUpload(factory);

        String maxSize = getSetting("AssetUploadMaxFileSize");
        log.debug("maxSize:" + maxSize);
        if (maxSize != null && !maxSize.equals("") && !maxSize.equals("@AssetUploadMaxFileSize@")) {
            try {
                maxUploadSize = maxSize;
                upload.setSizeMax((new Long(maxSize) * 1000));
            } catch (Exception e) {
                log.warn("Faulty max size parameter sent from portlet component:" + maxSize);
            }
        } else {
            maxSize = "" + (10 * 1024);
            maxUploadSize = maxSize;
            upload.setSizeMax((new Long(maxSize) * 1000));
        }

        List fileItems = upload.parseRequest(ServletActionContext.getRequest());
        log.debug("fileItems:" + fileItems.size());
        Iterator i = fileItems.iterator();
        while (i.hasNext()) {
            Object o = i.next();
            DiskFileItem dfi = (DiskFileItem) o;
            log.debug("dfi:" + dfi.getFieldName());
            log.debug("dfi:" + dfi);

            if (dfi.isFormField()) {
                String name = dfi.getFieldName();
                String value = dfi.getString();
                uploadSize = "" + (dfi.getSize() / 1000);

                log.debug("name:" + name);
                log.debug("value:" + value);
                if (name.equals("assetKey")) {
                    this.assetKey = value;
                } else if (name.equals("eventId")) {
                    this.eventId = new Long(value);
                    ServletActionContext.getRequest().setAttribute("eventId", this.eventId);
                } else if (name.equals("calendarId")) {
                    this.calendarId = new Long(value);
                    ServletActionContext.getRequest().setAttribute("calendarId", this.calendarId);
                } else if (name.equals("mode"))
                    this.mode = value;
            } else {
                String fieldName = dfi.getFieldName();
                String fileName = dfi.getName();
                uploadSize = "" + (dfi.getSize() / 1000);

                this.fileName = fileName;
                log.debug("FileName:" + this.fileName);
                uploadedFile = new File(getTempFilePath() + File.separator + fileName);
                dfi.write(uploadedFile);
            }

        }
    } catch (Exception e) {
        ServletActionContext.getRequest().getSession().setAttribute("errorMessage",
                "Exception uploading resource. " + e.getMessage() + ".<br/>Max upload size: " + maxUploadSize
                        + " KB"); // + "<br/>Attempted upload size (in KB):" + uploadSize);
        ActionContext.getContext().getValueStack().getContext().put("errorMessage",
                "Exception uploading resource. " + e.getMessage() + ".<br/>Max upload size: " + maxUploadSize
                        + " KB"); // + "<br/>Attempted upload size (in KB):" + uploadSize);
        log.error("Exception uploading resource. " + e.getMessage());
        return Action.ERROR;
    }

    try {
        log.debug("Creating resources.....:" + this.eventId + ":"
                + ServletActionContext.getRequest().getParameter("eventId") + ":"
                + ServletActionContext.getRequest().getParameter("calendarId"));
        ResourceController.getController().createResource(this.eventId, this.getAssetKey(),
                this.getFileContentType(), this.getFileName(), uploadedFile, getSession());
    } catch (Exception e) {
        ServletActionContext.getRequest().getSession().setAttribute("errorMessage",
                "Exception saving resource to database: " + e.getMessage());
        ActionContext.getContext().getValueStack().getContext().put("errorMessage",
                "Exception saving resource to database: " + e.getMessage());
        log.error("Exception saving resource to database. " + e.getMessage());
        return Action.ERROR;
    }

    return Action.SUCCESS;
}

From source file:org.infoglue.calendar.actions.UpdateEventAction.java

/**
 * This is the entry point for the main listing.
 *///from  www . ja v a  2s .com

public String upload() throws Exception {

    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        // Configure the factory here, if desired.
        PortletFileUpload upload = new PortletFileUpload(factory);
        // Configure the uploader here, if desired.
        List fileItems = upload.parseRequest(ServletActionContext.getRequest());
        log.debug("fileItems:" + fileItems.size());
        Iterator i = fileItems.iterator();
        while (i.hasNext()) {
            Object o = i.next();
            DiskFileItem dfi = (DiskFileItem) o;
            log.debug("dfi:" + dfi.getFieldName());
            log.debug("dfi:" + dfi);

            if (!dfi.isFormField()) {
                String fieldName = dfi.getFieldName();
                String fileName = dfi.getName();
                String contentType = dfi.getContentType();
                boolean isInMemory = dfi.isInMemory();
                long sizeInBytes = dfi.getSize();

                log.debug("fieldName:" + fieldName);
                log.debug("fileName:" + fileName);
                log.debug("contentType:" + contentType);
                log.debug("isInMemory:" + isInMemory);
                log.debug("sizeInBytes:" + sizeInBytes);
                File uploadedFile = new File(getTempFilePath() + File.separator + fileName);
                dfi.write(uploadedFile);
            }

        }

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

    log.debug("");
    ResourceController.getController().createResource(this.eventId, this.getAssetKey(),
            this.getFileContentType(), this.getFileFileName(), this.getFile(), getSession());

    return "successUpload";
}

From source file:org.infoglue.cms.util.FileUploadHelper.java

/**
 * Lists the files// w  w w. j a  v a 2  s.  c om
 */

public static void listMultiPartFiles(HttpServletRequest req) {
    try {
        File tempDir = new File("c:/temp/uploads");
        logger.info("tempDir:" + tempDir.exists());

        DiskFileItemFactory factory = new DiskFileItemFactory(1000, tempDir);
        ServletFileUpload upload = new ServletFileUpload(factory);
        if (ServletFileUpload.isMultipartContent((HttpServletRequest) req)) {
            List fileItems = upload.parseRequest((HttpServletRequest) req);
            logger.info("******************************");
            logger.info("fileItems:" + fileItems.size());
            logger.info("******************************");
            req.setAttribute("Test", "Mattias Testar");

            Iterator i = fileItems.iterator();
            while (i.hasNext()) {
                Object o = i.next();
                DiskFileItem dfi = (DiskFileItem) o;
                logger.info("dfi:" + dfi.getFieldName());
                logger.info("dfi:" + dfi);

                if (!dfi.isFormField()) {
                    String fieldName = dfi.getFieldName();
                    String fileName = dfi.getName();
                    String contentType = dfi.getContentType();
                    boolean isInMemory = dfi.isInMemory();
                    long sizeInBytes = dfi.getSize();

                    logger.info("fieldName:" + fieldName);
                    logger.info("fileName:" + fileName);
                    logger.info("contentType:" + contentType);
                    logger.info("isInMemory:" + isInMemory);
                    logger.info("sizeInBytes:" + sizeInBytes);
                    File uploadedFile = new File("c:/temp/uploads/" + fileName);
                    dfi.write(uploadedFile);

                    req.setAttribute(dfi.getFieldName(), uploadedFile.getAbsolutePath());
                }

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

From source file:org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor.java

public boolean execute(HttpServletRequest request, HttpServletResponse response)
        throws CarbonException, IOException {
    ServletRequestContext servletRequestContext = new ServletRequestContext(request);
    boolean isMultipart = ServletFileUpload.isMultipartContent(servletRequestContext);
    PrintWriter out = response.getWriter();
    response.setContentType("text/html; charset=utf-8");
    try {//from w  w  w  .j  a v  a  2 s.c om
        if (isMultipart) {
            List items = parseRequest(servletRequestContext);
            Map fileResourceMap = (Map) configurationContext.getProperty(ServerConstants.FILE_RESOURCE_MAP);
            if (fileResourceMap == null) {
                fileResourceMap = new TreeBidiMap();
                configurationContext.setProperty(ServerConstants.FILE_RESOURCE_MAP, fileResourceMap);
            }
            List resourceUUID = new ArrayList();
            String main = null;
            for (Iterator iterator = items.iterator(); iterator.hasNext();) {
                DiskFileItem item = (DiskFileItem) iterator.next();
                if (!item.isFormField()) {
                    String uuid = String.valueOf(System.currentTimeMillis() + Math.random());
                    String extraFileLocation = configurationContext.getProperty(ServerConstants.WORK_DIR)
                            + File.separator + "extra" + File.separator + uuid + File.separator;
                    String fieldName = item.getFieldName();
                    if (fieldName != null && fieldName.equals("jarZipFilename")) {
                        File dirs = new File(extraFileLocation);
                        dirs.mkdirs();
                        String fileName = item.getName();
                        String fileExtension = fileName;
                        checkServiceFileExtensionValidity(fileExtension, new String[] { ".jar", ".zip" });
                        File uploadedFile = new File(extraFileLocation, getFileName(fileName));
                        item.write(uploadedFile);
                        main = uuid;
                        resourceUUID.add(uuid);
                        fileResourceMap.put(uuid, uploadedFile.getAbsolutePath());
                    }

                    if (fieldName != null && fieldName.equals("jarResource")) {
                        String fileName = item.getName();
                        if (fileName.toLowerCase().endsWith(".jar")) {
                            File dirs = new File(extraFileLocation);
                            dirs.mkdirs();
                            File uploadedFile = new File(extraFileLocation, getFileName(fileName));
                            item.write(uploadedFile);
                            resourceUUID.add(uuid);
                            fileResourceMap.put(uuid, uploadedFile.getAbsolutePath());
                        }
                    }
                }
            }
            if (main == null) {
                out.write("<script type=\"text/javascript\">"
                        + "top.wso2.wsf.Util.alertWarning('Please upload a jar or a zip file.');"
                        + "</script>");
            }

            String s = "var uObj = new Object();";
            for (int i = 0; i < resourceUUID.size(); i++) {
                s += "uObj[" + i + "]=\"" + resourceUUID.get(i) + "\";\n";
            }
            out.write("<script type=\"text/javascript\">" + s + "top." + "jarZipFileUploadExecutor" + "(\""
                    + main + "\",uObj);" + "</script>");
            out.flush();
        }
    } catch (Exception e) {
        log.error("File upload FAILED", e);
        out.write("<script type=\"text/javascript\">"
                + "top.wso2.wsf.Util.alertWarning('File upload FAILED. File may be non-existent or invalid.');"
                + "</script>");
    } finally {
        out.close();
    }
    return true;

}