Example usage for org.apache.commons.fileupload FileItem getString

List of usage examples for org.apache.commons.fileupload FileItem getString

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileItem getString.

Prototype

String getString(String encoding) throws UnsupportedEncodingException;

Source Link

Document

Returns the contents of the file item as a String, using the specified encoding.

Usage

From source file:com.alibaba.citrus.turbine.dataresolver.ParameterResolverTests.java

@Test
public void getFileItem() throws Exception {
    getInvocationContext("/app1", "myFile", new File(srcdir, "test.txt"), "eventSubmit_doGetFileItem", "yes");
    initRequestContext();//w ww  .  ja  va2  s. co m

    moduleLoaderService.getModule("action", "param.myAction").execute();
    FileItem fi = (FileItem) newRequest.getAttribute("actionLog");

    assertEquals("test", fi.getString("UTF-8"));
}

From source file:com.ikon.servlet.admin.CssServlet.java

@Override
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
    log.debug("doPost({}, {})", request, response);
    request.setCharacterEncoding("UTF-8");
    String action = WebUtils.getString(request, "action");
    String userId = request.getRemoteUser();
    updateSessionManager(request);//from  w w  w.  j a  v a2s .c o m

    try {
        if (ServletFileUpload.isMultipartContent(request)) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            List<FileItem> items = upload.parseRequest(request);
            Css css = new Css();
            css.setActive(false);

            for (Iterator<FileItem> it = items.iterator(); it.hasNext();) {
                FileItem item = it.next();

                if (item.isFormField()) {
                    if (item.getFieldName().equals("action")) {
                        action = item.getString("UTF-8");
                    } else if (item.getFieldName().equals("css_id")) {
                        if (!item.getString("UTF-8").isEmpty()) {
                            css.setId(new Long(item.getString("UTF-8")).longValue());
                        }
                    } else if (item.getFieldName().equals("css_name")) {
                        css.setName(item.getString("UTF-8"));
                    } else if (item.getFieldName().equals("css_context")) {
                        css.setContext(item.getString("UTF-8"));
                    } else if (item.getFieldName().equals("css_content")) {
                        css.setContent(item.getString("UTF-8"));
                    } else if (item.getFieldName().equals("css_active")) {
                        css.setActive(true);
                    }
                }
            }

            if (action.equals("edit")) {
                CssDAO.getInstance().update(css);

                // Activity log
                UserActivity.log(userId, "ADMIN_CSS_UPDATE", String.valueOf(css.getId()), null, css.getName());
            } else if (action.equals("delete")) {
                String name = WebUtils.getString(request, "css_name");
                CssDAO.getInstance().delete(css.getId());

                // Activity log
                UserActivity.log(userId, "ADMIN_CSS_DELETE", String.valueOf(css.getId()), null, name);
            } else if (action.equals("create")) {
                long id = CssDAO.getInstance().create(css);

                // Activity log
                UserActivity.log(userId, "ADMIN_CSS_CREATE", String.valueOf(id), null, css.getName());
            }
        }

        list(userId, request, response);
    } catch (FileUploadException e) {
        log.error(e.getMessage(), e);
        sendErrorRedirect(request, response, e);
    } catch (DatabaseException e) {
        log.error(e.getMessage(), e);
        sendErrorRedirect(request, response, e);
    }
}

From source file:com.skin.generator.action.UploadTestAction.java

/**
 * @param request//from  w  w w  .  j a va 2 s .co  m
 * @return Map<String, Object>
 * @throws Exception
 */
public Map<String, Object> parse(HttpServletRequest request) throws Exception {
    String repository = System.getProperty("java.io.tmpdir");
    int maxFileSize = 1024 * 1024 * 1024;
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setRepository(new File(repository));
    factory.setSizeThreshold(1024 * 1024);
    ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
    servletFileUpload.setFileSizeMax(maxFileSize);
    servletFileUpload.setSizeMax(maxFileSize);
    Map<String, Object> map = new HashMap<String, Object>();
    List<?> list = servletFileUpload.parseRequest(request);

    if (list != null && list.size() > 0) {
        for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) {
            FileItem item = (FileItem) iterator.next();

            if (item.isFormField()) {
                logger.debug("form field: {}, {}", item.getFieldName(), item.toString());
                map.put(item.getFieldName(), item.getString("utf-8"));
            } else {
                logger.debug("file field: {}", item.getFieldName());
                map.put(item.getFieldName(), item);
            }
        }
    }
    return map;
}

From source file:dk.clarin.tools.rest.register.java

public String getarg(HttpServletRequest request, List<FileItem> items, String name) {
    /*//from   w  w  w .  ja va 2  s.c o  m
    * Parse the request
    */

    @SuppressWarnings("unchecked")
    boolean is_multipart_formData = ServletFileUpload.isMultipartContent(request);

    logger.debug("is_multipart_formData:" + (is_multipart_formData ? "ja" : "nej"));

    if (is_multipart_formData) {
        try {
            Iterator<FileItem> itr = items.iterator();
            while (itr.hasNext()) {
                FileItem item = (FileItem) itr.next();
                if (item.isFormField()) {
                    if (name.equals(item.getFieldName()))
                        return item.getString("UTF-8").trim();
                }
            }
        } catch (Exception ex) {
            logger.error("uploadHandler.parseRequest Exception");
        }
    }

    Enumeration<String> parmNames = (Enumeration<String>) request.getParameterNames();
    for (Enumeration<String> e = parmNames; e.hasMoreElements();) {
        String parmName = e.nextElement();
        String vals[] = request.getParameterValues(parmName);
        for (int j = 0; j < vals.length; ++j) {
            if (name.equals(parmName)) {
                logger.debug("parmName:" + parmName + " equals:" + name + " , return " + vals[j]);
                return vals[j];
            }
        }
    }
    return null;
}

From source file:com.tern.web.MultiPartEnabledRequest.java

private void readHttpParams(HttpServletRequest req) throws FileUploadException {
    List all = uploadFiles(req);/*  ww w.ja va2  s. c o  m*/

    // read form fields
    for (Iterator it = all.iterator(); it.hasNext();) {
        FileItem item = (FileItem) it.next();

        if (item.isFormField()) {
            List valList = valueList(httpParams, item.getFieldName());
            if (req.getCharacterEncoding() != null) {
                try {
                    valList.add(item.getString(req.getCharacterEncoding()));
                } catch (UnsupportedEncodingException e) {
                    Trace.write(Trace.Error, e, "");
                    valList.add(item.getString(/*encoding?*/));
                }
            } else
                valList.add(item.getString(/*encoding?*/));
        } else {
            List valList = valueList(fileItems, item.getFieldName());
            valList.add(item);
        }
    }

    // convert lists of values to arrays
    for (Iterator it = httpParams.keySet().iterator(); it.hasNext();) {
        String name = (String) it.next();
        List valList = (List) httpParams.get(name);
        httpParams.put(name, toStringArray(valList));
    }

    for (Iterator it = fileItems.keySet().iterator(); it.hasNext();) {
        String name = (String) it.next();
        List valList = (List) fileItems.get(name);
        fileItems.put(name, toFileItemArray(valList));
    }
}

From source file:com.agapsys.web.toolkit.services.UploadService.java

/**
 * Process a request to receive files.//from   www.  j av  a 2 s  .c om
 * 
 * @param req HTTP request.
 * @param resp HTTP response.
 * @param persistReceivedFiles indicates if received files should be persisted.
 * @param onFormFieldListener listener called when a form field is received.
 * @throws IllegalArgumentException if given request if not multipart/form-data.
 * @return a list of received file by given request.
 */
public List<ReceivedFile> receiveFiles(HttpServletRequest req, HttpServletResponse resp,
        boolean persistReceivedFiles, OnFormFieldListener onFormFieldListener) throws IllegalArgumentException {
    __int();

    if (persistReceivedFiles && resp == null)
        throw new IllegalArgumentException("In order to persist information, response cannot be null");

    if (!ServletFileUpload.isMultipartContent(req))
        throw new IllegalArgumentException("Request is not multipart/form-data");

    try {
        List<ReceivedFile> recvFiles = new LinkedList<>();

        List<FileItem> fileItems = uploadServlet.parseRequest(req);

        for (FileItem fi : fileItems) {
            if (fi.isFormField()) {
                if (onFormFieldListener != null)
                    onFormFieldListener.onFormField(fi.getFieldName(), fi.getString(getFieldEncoding()));
            } else {
                boolean acceptRequest = getAllowedContentTypes().equals("*");

                if (!acceptRequest) {
                    String[] acceptedContentTypes = getAllowedContentTypes().split(Pattern.quote(","));
                    for (String acceptedContentType : acceptedContentTypes) {
                        if (fi.getContentType().equals(acceptedContentType.trim())) {
                            acceptRequest = true;
                            break;
                        }
                    }
                }

                if (!acceptRequest)
                    throw new IllegalArgumentException("Unsupported content-type: " + fi.getContentType());

                File tmpFile = ((DiskFileItem) fi).getStoreLocation();
                String filename = fi.getName();
                ReceivedFile recvFile = new ReceivedFile(tmpFile, filename);
                recvFiles.add(recvFile);
            }
        }

        if (persistReceivedFiles) {
            List<ReceivedFile> sessionRecvFiles = getSessionFiles(req, resp);
            sessionRecvFiles.addAll(recvFiles);
            persistSessionFiles(req, resp, sessionRecvFiles);
        }

        return recvFiles;

    } catch (FileUploadException ex) {
        if (ex instanceof FileUploadBase.SizeLimitExceededException)
            throw new IllegalArgumentException("Size limit exceeded");
        else
            throw new RuntimeException(ex);
    } catch (UnsupportedEncodingException ex) {
        throw new RuntimeException(ex);
    }
}

From source file:com.openkm.extension.servlet.ZohoFileUploadServlet.java

@SuppressWarnings("unchecked")
protected void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    log.info("service({}, {})", request, response);
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    InputStream is = null;//from w  ww  .j a  va2  s . co m
    String id = "";

    if (isMultipart) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setHeaderEncoding("UTF-8");

        // Parse the request and get all parameters and the uploaded file
        List<FileItem> items;

        try {
            items = upload.parseRequest(request);
            for (Iterator<FileItem> it = items.iterator(); it.hasNext();) {
                FileItem item = it.next();
                if (item.isFormField()) {
                    // if (item.getFieldName().equals("format")) { format =
                    // item.getString("UTF-8"); }
                    if (item.getFieldName().equals("id")) {
                        id = item.getString("UTF-8");
                    }
                    // if (item.getFieldName().equals("filename")) {
                    // filename = item.getString("UTF-8"); }
                } else {
                    is = item.getInputStream();
                }
            }

            // Retrieve token
            ZohoToken zot = ZohoTokenDAO.findByPk(id);

            // Save document
            if (Config.REPOSITORY_NATIVE) {
                String sysToken = DbSessionManager.getInstance().getSystemToken();
                String path = OKMRepository.getInstance().getNodePath(sysToken, zot.getNode());
                new DbDocumentModule().checkout(sysToken, path, zot.getUser());
                new DbDocumentModule().checkin(sysToken, path, is, "Modified from Zoho", zot.getUser());
            } else {
                String sysToken = JcrSessionManager.getInstance().getSystemToken();
                String path = OKMRepository.getInstance().getNodePath(sysToken, zot.getNode());
                new JcrDocumentModule().checkout(sysToken, path, zot.getUser());
                new JcrDocumentModule().checkin(sysToken, path, is, "Modified from Zoho", zot.getUser());
            }
        } catch (FileUploadException e) {
            log.error(e.getMessage(), e);
        } catch (PathNotFoundException e) {
            log.error(e.getMessage(), e);
        } catch (RepositoryException e) {
            log.error(e.getMessage(), e);
        } catch (DatabaseException e) {
            log.error(e.getMessage(), e);
        } catch (FileSizeExceededException e) {
            log.error(e.getMessage(), e);
        } catch (UserQuotaExceededException e) {
            log.error(e.getMessage(), e);
        } catch (VirusDetectedException e) {
            log.error(e.getMessage(), e);
        } catch (VersionException e) {
            log.error(e.getMessage(), e);
        } catch (LockException e) {
            log.error(e.getMessage(), e);
        } catch (AccessDeniedException e) {
            log.error(e.getMessage(), e);
        } catch (ExtensionException e) {
            log.error(e.getMessage(), e);
        } catch (AutomationException e) {
            log.error(e.getMessage(), e);
        } finally {
            IOUtils.closeQuietly(is);
        }
    }
}

From source file:edu.lafayette.metadb.web.controlledvocab.UpdateVocab.java

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*///from  w ww.  ja v a 2  s  .  c  o  m
@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // TODO Auto-generated method stub
    PrintWriter out = response.getWriter();
    String vocabName = null;
    String name = "nothing";
    String status = "Upload failed ";

    try {

        if (ServletFileUpload.isMultipartContent(request)) {
            status = "isMultiPart";
            ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
            List fileItemsList = servletFileUpload.parseRequest(request);
            DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
            diskFileItemFactory.setSizeThreshold(40960); /* the unit is bytes */

            InputStream input = null;
            Iterator it = fileItemsList.iterator();
            String result = "";
            String vocabs = null;
            int assigned = -1;

            while (it.hasNext()) {
                FileItem fileItem = (FileItem) it.next();
                result += "UpdateVocab: Form Field: " + fileItem.isFormField() + " Field name: "
                        + fileItem.getFieldName() + " Name: " + fileItem.getName() + " String: "
                        + fileItem.getString("utf-8") + "\n";
                if (fileItem.isFormField()) {
                    /* The file item contains a simple name-value pair of a form field */
                    if (fileItem.getFieldName().equals("vocab-name"))
                        vocabName = fileItem.getString();
                    else if (fileItem.getFieldName().equals("vocab-terms"))
                        vocabs = fileItem.getString("utf-8");
                    else if (fileItem.getFieldName().equals("assigned-field"))
                        assigned = Integer.parseInt(fileItem.getString());
                } else {
                    if (fileItem.getString() != null && !fileItem.getString().equals("")) {
                        @SuppressWarnings("unused")
                        String content = "nothing";
                        /* The file item contains an uploaded file */

                        /* Create new File object
                        File uploadedFile = new File("test.txt");
                        if(!uploadedFile.exists())
                           uploadedFile.createNewFile();
                        // Write the uploaded file to the system
                        fileItem.write(uploadedFile);
                        */
                        name = fileItem.getName();
                        content = fileItem.getContentType();
                        input = fileItem.getInputStream();
                    }
                }
            }
            //MetaDbHelper.note(result);
            if (vocabName != null) {
                Set<String> vocabList = new TreeSet<String>();
                if (input != null) {
                    Scanner fileSc = new Scanner(input);
                    while (fileSc.hasNextLine()) {
                        String vocabEntry = fileSc.nextLine();
                        vocabList.add(vocabEntry.trim());
                    }

                    HttpSession session = request.getSession(false);
                    if (session != null) {
                        String userName = (String) session.getAttribute("username");
                        SysLogDAO.log(userName, Global.SYSLOG_PROJECT,
                                "User " + userName + " created vocab " + vocabName);
                    }
                    status = "Vocab name: " + vocabName + ". File name: " + name + "\n";

                } else {
                    //MetaDbHelper.note(vocabs);
                    for (String vocabTerm : vocabs.split("\n"))
                        vocabList.add(vocabTerm);
                }
                if (!vocabList.isEmpty()) {
                    boolean updated = ControlledVocabDAO.addControlledVocab(vocabName, vocabList)
                            || ControlledVocabDAO.updateControlledVocab(vocabName, vocabList);
                    if (updated) {
                        status = "Vocab " + vocabName + " updated successfully ";
                        if (assigned != -1)
                            if (!AdminDescAttributesDAO.setControlledVocab(assigned, vocabName)) {
                                status = "Vocab " + vocabName + " cannot be assigned to " + assigned;
                            }

                    } else
                        status = "Vocab " + vocabName + " cannot be updated/created";
                } else
                    status = "Vocab " + vocabName + " has empty vocabList";
            }
        }
    } catch (Exception e) {
        MetaDbHelper.logEvent(e);
    }
    MetaDbHelper.note(status);
    out.print(status);
    out.flush();
}

From source file:com.ikon.servlet.admin.ReportServlet.java

@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
    log.debug("doPost({}, {})", request, response);
    request.setCharacterEncoding("UTF-8");
    String action = "";
    String userId = request.getRemoteUser();
    updateSessionManager(request);// w  ww  . j  a  v a 2  s.  c o  m

    try {
        if (ServletFileUpload.isMultipartContent(request)) {
            InputStream is = null;
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            List<FileItem> items = upload.parseRequest(request);
            Report rp = new Report();

            for (Iterator<FileItem> it = items.iterator(); it.hasNext();) {
                FileItem item = it.next();

                if (item.isFormField()) {
                    if (item.getFieldName().equals("action")) {
                        action = item.getString("UTF-8");
                    } else if (item.getFieldName().equals("rp_id")) {
                        rp.setId(Integer.parseInt(item.getString("UTF-8")));
                    } else if (item.getFieldName().equals("rp_name")) {
                        rp.setName(item.getString("UTF-8"));
                    } else if (item.getFieldName().equals("rp_active")) {
                        rp.setActive(true);
                    }
                } else {
                    is = item.getInputStream();
                    rp.setFileName(FilenameUtils.getName(item.getName()));
                    rp.setFileMime(MimeTypeConfig.mimeTypes.getContentType(item.getName()));
                    rp.setFileContent(SecureStore.b64Encode(IOUtils.toByteArray(is)));
                    is.close();
                }
            }

            if (action.equals("create")) {
                long id = ReportDAO.create(rp);

                // Activity log
                UserActivity.log(userId, "ADMIN_REPORT_CREATE", Long.toString(id), null, rp.toString());
                list(userId, request, response);
            } else if (action.equals("edit")) {
                Report tmp = ReportDAO.findByPk(rp.getId());
                tmp.setActive(rp.isActive());
                tmp.setFileContent(rp.getFileContent());
                tmp.setFileMime(rp.getFileMime());
                tmp.setFileName(rp.getFileName());
                tmp.setName(rp.getName());
                ReportDAO.update(tmp);

                // Activity log
                UserActivity.log(userId, "ADMIN_REPORT_EDIT", Long.toString(rp.getId()), null, rp.toString());
                list(userId, request, response);
            } else if (action.equals("delete")) {
                ReportDAO.delete(rp.getId());

                // Activity log
                UserActivity.log(userId, "ADMIN_REPORT_DELETE", Long.toString(rp.getId()), null, null);
                list(userId, request, response);
            }
        }
    } catch (DatabaseException e) {
        log.error(e.getMessage(), e);
        sendErrorRedirect(request, response, e);
    } catch (FileUploadException e) {
        log.error(e.getMessage(), e);
        sendErrorRedirect(request, response, e);
    }
}

From source file:com.ms.commons.summer.web.multipart.CommonsMultipartEngancedResolver.java

@SuppressWarnings("all")
protected MultipartParsingResult parseFileItems(List fileItems, String encoding) {
    Map<String, Object> multipartFiles = new HashMap<String, Object>();
    Map<String, Object> multipartParameters = new HashMap<String, Object>();

    for (Iterator<FileItem> it = fileItems.iterator(); it.hasNext();) {
        FileItem fileItem = it.next();
        if (fileItem.isFormField()) {
            String value = null;/*from  w  w  w  .  jav a  2  s.c  o  m*/
            if (encoding != null) {
                try {
                    value = fileItem.getString(encoding);
                } catch (UnsupportedEncodingException ex) {
                    if (logger.isWarnEnabled()) {
                        logger.warn("Could not decode multipart item '" + fileItem.getFieldName()
                                + "' with encoding '" + encoding + "': using platform default");
                    }
                    value = fileItem.getString();
                }
            } else {
                value = fileItem.getString();
            }
            String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName());
            if (curParam == null) {
                // simple form field
                multipartParameters.put(fileItem.getFieldName(), new String[] { value });
            } else {
                // array of simple form fields
                String[] newParam = StringUtils.addStringToArray(curParam, value);
                multipartParameters.put(fileItem.getFieldName(), newParam);
            }
        } else {
            // multipart file field
            CommonsMultipartFile file = new CommonsMultipartFile(fileItem);
            if (multipartFiles.containsKey(file.getName())) {
                Object value = multipartFiles.get(file.getName());
                if (value instanceof CommonsMultipartFile) {
                    List<CommonsMultipartFile> fileList = new ArrayList<CommonsMultipartFile>();
                    fileList.add((CommonsMultipartFile) value);
                    fileList.add(file);
                    multipartFiles.put(file.getName(), fileList);
                } else {
                    ((List<CommonsMultipartFile>) value).add(file); //
                    // multipartFiles.put(file.getName(), value);
                }
            } else {
                multipartFiles.put(file.getName(), file);
            }

        }
    }
    for (Map.Entry<String, Object> entry : multipartFiles.entrySet()) {
        Object value = entry.getValue();
        if (value instanceof List) {
            List<CommonsMultipartFile> fileList = (List<CommonsMultipartFile>) value;
            multipartFiles.put(entry.getKey(), fileList.toArray(new CommonsMultipartFile[] {}));
        }
    }
    return new MultipartParsingResult(multipartFiles, multipartParameters);
}