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

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

Introduction

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

Prototype

String getFieldName();

Source Link

Document

Returns the name of the field in the multipart form corresponding to this file item.

Usage

From source file:cpabe.controladores.UploadDownloadFileServlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    if (!ServletFileUpload.isMultipartContent(request)) {
        throw new ServletException("Content type is not multipart/form-data");
    }/*  w w w  .  jav  a 2s . c o  m*/

    // response.setContentType("text/html");
    //  PrintWriter out = response.getWriter();
    // out.write("<html><head></head><body>");
    try {
        List<FileItem> fileItemsList = uploader.parseRequest(request);
        Iterator<FileItem> fileItemsIterator = fileItemsList.iterator();
        while (fileItemsIterator.hasNext()) {
            FileItem fileItem = fileItemsIterator.next();

            System.out.println("FieldName=" + fileItem.getFieldName());
            System.out.println("FileName=" + fileItem.getName());
            System.out.println("ContentType=" + fileItem.getContentType());
            System.out.println("Size in bytes=" + fileItem.getSize());

            File file = new File(request.getServletContext().getAttribute("FILES_DIR") + File.separator
                    + fileItem.getName());
            //setar no objeto CaminhoArquivo os dados do arquivo anexado
            String caminho = file.getAbsolutePath();
            String nome = fileItem.getName();

            CaminhoArquivo c = new CaminhoArquivo();
            c.setNome(nome);
            c.setWay(caminho);

            request.setAttribute("caminho", c);
            System.out.println("caminho=" + caminho);
            System.out.println("nome=" + nome);

            System.out.println("Absolute Path at server=" + file.getAbsolutePath());
            fileItem.write(file);

            request.getRequestDispatcher("/formularios/encriptar/encriptar1.jsp").forward(request, response);

            // out.write("File " + fileItem.getName() + " uploaded successfully.");
            // out.write("<br>");
            // out.write("<a href=\"UploadDownloadFileServlet?fileName=" + fileItem.getName() + "\">Download " + fileItem.getName() + "</a>");
        }

    } catch (FileUploadException e) {
        //  out.write("Exception in uploading file.");
    } catch (Exception e) {
        //  out.write("Exception in uploading file.");
    }
    // out.write("</body></html>");
}

From source file:fr.insalyon.creatis.vip.datamanager.server.rpc.FileUploadServiceImpl.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    User user = (User) request.getSession().getAttribute(CoreConstants.SESSION_USER);
    if (user != null && ServletFileUpload.isMultipartContent(request)) {

        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        try {//  w  w  w. j  a va2s  .  c  o  m
            List items = upload.parseRequest(request);
            Iterator iter = items.iterator();
            String fileName = null;
            FileItem fileItem = null;
            String path = null;
            String target = "uploadComplete";
            String operationID = "no-id";

            while (iter.hasNext()) {
                FileItem item = (FileItem) iter.next();

                if (item.getFieldName().equals("path")) {
                    path = item.getString();
                } else if (item.getFieldName().equals("file")) {
                    fileName = item.getName();
                    fileItem = item;
                } else if (item.getFieldName().equals("target")) {
                    target = item.getString();
                }
            }
            if (fileName != null && !fileName.equals("")) {

                boolean local = path.equals("local") ? true : false;
                String rootDirectory = DataManagerUtil.getUploadRootDirectory(local);
                fileName = new File(fileName).getName().trim().replaceAll(" ", "_");
                fileName = Normalizer.normalize(fileName, Normalizer.Form.NFD)
                        .replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
                File uploadedFile = new File(rootDirectory + fileName);

                try {
                    fileItem.write(uploadedFile);
                    response.getWriter().write(fileName);

                    if (!local) {
                        // GRIDA Pool Client
                        logger.info("(" + user.getEmail() + ") Uploading '" + uploadedFile.getAbsolutePath()
                                + "' to '" + path + "'.");
                        GRIDAPoolClient client = CoreUtil.getGRIDAPoolClient();
                        operationID = client.uploadFile(uploadedFile.getAbsolutePath(),
                                DataManagerUtil.parseBaseDir(user, path), user.getEmail());

                    } else {
                        operationID = fileName;
                        logger.info(
                                "(" + user.getEmail() + ") Uploaded '" + uploadedFile.getAbsolutePath() + "'.");
                    }
                } catch (Exception ex) {
                    logger.error(ex);
                }
            }

            response.setContentType("text/html");
            response.setHeader("Pragma", "No-cache");
            response.setDateHeader("Expires", 0);
            response.setHeader("Cache-Control", "no-cache");
            PrintWriter out = response.getWriter();
            out.println("<html>");
            out.println("<body>");
            out.println("<script type=\"text/javascript\">");
            out.println("if (parent." + target + ") parent." + target + "('" + operationID + "');");
            out.println("</script>");
            out.println("</body>");
            out.println("</html>");
            out.flush();

        } catch (FileUploadException ex) {
            logger.error(ex);
        }
    }
}

From source file:net.mymam.upload.UploadMultipartRequestWrapper.java

public UploadMultipartRequestWrapper(HttpServletRequest request, ServletFileUpload upload)
        throws ServletException {
    super(request);
    try {//from  w  w  w .ja v a2s . c om
        List fileItems = upload.parseRequest(request);
        for (int i = 0; i < fileItems.size(); i++) {
            FileItem item = (FileItem) fileItems.get(i);
            if (item.isFormField()) {
                addParameter(item.getFieldName(), item.getString(), formParameters);
            } else {
                addParameter(item.getFieldName(), item, fileParameters);
            }
        }
    } catch (FileUploadException e) {
        // Request timed out
        ServletException servletException = new ServletException();
        servletException.initCause(e);
        throw servletException;
    }
}

From source file:com.exedio.copernica.Form.java

@SuppressWarnings("deprecation") // TODO use new way of fileupload
public Form(final HttpServletRequest request) {
    this.request = request;

    if (FileUploadBase.isMultipartContent(request)) {
        final org.apache.commons.fileupload.DiskFileUpload upload = new org.apache.commons.fileupload.DiskFileUpload();
        final int maxSize = 100 * 1024; // TODO: make this configurable
        upload.setSizeThreshold(maxSize); // TODO: always save to disk
        upload.setSizeMax(maxSize);/* w ww.  j  av a 2s. c om*/
        //upload.setRepositoryPath("");
        multipartContentParameters = new HashMap<String, Object>();
        try {
            for (Iterator<?> i = upload.parseRequest(request).iterator(); i.hasNext();) {
                final FileItem item = (FileItem) i.next();
                if (item.isFormField()) {
                    final String name = item.getFieldName();
                    final String value = item.getString();
                    multipartContentParameters.put(name, value);
                } else {
                    final String name = item.getFieldName();
                    multipartContentParameters.put(name, item);
                }
            }
        } catch (FileUploadException e) {
            throw new RuntimeException(e);
        }
    } else {
        multipartContentParameters = null;
    }
}

From source file:com.bibisco.filters.FileFilter.java

/**
 * Processing classic form fields./*from w ww  .  java  2s .co  m*/
 *<p>They are decoded and transferred to wrapper's map,
 * which will substitute the original request-object later 
 * (@see dpFilter }
 * @param pField
 */
protected void processRegularFormField(FileItem pField, ServletRequest pRequest) {
    String name = pField.getFieldName();
    try {
        String lStrValue = pField.getString(pRequest.getCharacterEncoding());
        mMultipartWrapper.addParameter(name, lStrValue);
    } catch (UnsupportedEncodingException e) {
        mLog.error(e, "Fatal error decoding parameter ", name);
    }
}

From source file:juzu.plugin.upload.impl.UploadPlugin.java

public void invoke(Request request) {

    ////from w  ww  .  j  ava  2 s .com
    final ClientContext clientContext = request.getClientContext();

    //
    if (clientContext != null) {
        String contentType = clientContext.getContentType();
        if (contentType != null) {
            if (contentType.startsWith("multipart/")) {

                //
                org.apache.commons.fileupload.RequestContext ctx = new org.apache.commons.fileupload.RequestContext() {
                    public String getCharacterEncoding() {
                        return clientContext.getCharacterEncoding();
                    }

                    public String getContentType() {
                        return clientContext.getContentType();
                    }

                    public int getContentLength() {
                        return clientContext.getContentLenth();
                    }

                    public InputStream getInputStream() throws IOException {
                        return clientContext.getInputStream();
                    }
                };

                //
                FileUpload upload = new FileUpload(new DiskFileItemFactory());

                //
                try {
                    List<FileItem> list = (List<FileItem>) upload.parseRequest(ctx);
                    HashMap<String, RequestParameter> parameters = new HashMap<String, RequestParameter>();
                    for (FileItem file : list) {
                        String name = file.getFieldName();
                        if (file.isFormField()) {
                            RequestParameter parameter = parameters.get(name);
                            if (parameter != null) {
                                parameter = parameter.append(new String[] { file.getString() });
                            } else {
                                parameter = RequestParameter.create(name, file.getString());
                            }
                            parameter.appendTo(parameters);
                        } else {
                            ControlParameter parameter = request.getMethod().getParameter(name);
                            if (parameter instanceof ContextualParameter
                                    && FileItem.class.isAssignableFrom(parameter.getType())) {
                                request.setArgument(parameter, file);
                            }
                        }
                    }

                    // Keep original parameters that may come from the request path
                    for (RequestParameter parameter : request.getParameters().values()) {
                        if (!parameters.containsKey(parameter.getName())) {
                            parameter.appendTo(parameters);
                        }
                    }

                    // Redecode phase arguments from updated request
                    Method<?> method = request.getMethod();
                    Map<ControlParameter, Object> arguments = method.getArguments(parameters);

                    // Update with existing contextual arguments
                    for (Map.Entry<ControlParameter, Object> argument : request.getArguments().entrySet()) {
                        if (argument.getKey() instanceof ContextualParameter) {
                            arguments.put(argument.getKey(), argument.getValue());
                        }
                    }

                    // Replace all arguments
                    request.setArguments(arguments);
                } catch (FileUploadException e) {
                    throw new UndeclaredThrowableException(e);
                }
            }
        }
    }

    //
    request.invoke();
}

From source file:com.github.glue.mvc.RequestHandler.java

private void init() {
    try {//from   w  ww.jav a 2  s .  com
        if (isMultipartContent(request)) {
            FileItemFactory itemFactory = new DiskFileItemFactory();
            ServletFileUpload fileUpload = new ServletFileUpload(itemFactory);

            List<FileItem> items = fileUpload.parseRequest(request);
            for (FileItem fileItem : items) {
                if (fileItem.isFormField()) {
                    parameters.put(fileItem.getFieldName(),
                            new String[] { fileItem.getString(definition.getCharset()) });
                } else {
                    parameters.put(fileItem.getFieldName(), fileItem);
                }
            }

        } else {
            Map<String, String[]> paramteters = request.getParameterMap();
            for (Map.Entry<String, String[]> item : paramteters.entrySet()) {
                String[] vars = item.getValue();
                if (vars != null) {
                    for (int i = 0; i < vars.length; i++) {
                        vars[i] = new String(vars[i].getBytes("ISO-8859-1"), definition.getCharset());
                    }
                }
                parameters.put(item.getKey(), vars);
            }
        }
    } catch (Exception e) {
        throw new RuntimeException(e.getMessage(), e);
    }
}

From source file:ar.com.easytech.faces.filters.MultipartRequest.java

@SuppressWarnings("unchecked")
public MultipartRequest(HttpServletRequest request, String path) throws Exception {
    super(request);
    DiskFileItemFactory factory = new DiskFileItemFactory();

    if (path != null)
        factory.setRepository(new File(path));

    ServletFileUpload upload = new ServletFileUpload(factory);
    parameterMap.put("path", path);

    try {/*from   w  ww .j av a2  s. c o  m*/
        List<FileItem> items = (List<FileItem>) upload.parseRequest(request);

        for (FileItem item : items) {

            String str = item.getString();
            if (item.isFormField())
                parameterMap.put(item.getFieldName(), str);
            else {
                if (item.getName() != null) {
                    parameterMap.put("fileName", item.getName());
                }
                request.setAttribute(item.getFieldName(), item);
            }
        }

    } catch (FileUploadException ex) {
        ServletException servletEx = new ServletException();
        servletEx.initCause(ex);
        throw new Exception(ex.getLocalizedMessage());
    }
}

From source file:br.com.caelum.vraptor.interceptor.multipart.CommonsUploadMultipartInterceptor.java

public void intercept(InterceptorStack stack, ResourceMethod method, Object instance)
        throws InterceptionException {
    logger.info("Request contains multipart data. Try to parse with commons-upload.");

    FileItemFactory factory = createFactoryForDiskBasedFileItems(config.getDirectory());

    ServletFileUpload uploader = fileUploadCreator.create(factory);
    uploader.setSizeMax(config.getSizeLimit());

    try {//from  w  w  w .java  2 s  . c o m
        final List<FileItem> items = uploader.parseRequest(request);
        logger.debug("Found {} attributes in the multipart form submission. Parsing them.", items.size());

        final Multimap<String, String> params = LinkedListMultimap.create();

        for (FileItem item : items) {
            String name = item.getFieldName();
            name = fixIndexedParameters(name);

            if (item.isFormField()) {
                logger.debug("{} is a field", name);
                params.put(name, getValue(item));

            } else if (isNotEmpty(item)) {
                logger.debug("{} is a file", name);
                processFile(item, name);

            } else {
                logger.debug("A file field was empty: {}", item.getFieldName());
            }
        }

        for (String paramName : params.keySet()) {
            Collection<String> paramValues = params.get(paramName);
            parameters.setParameter(paramName, paramValues.toArray(new String[paramValues.size()]));
        }

    } catch (final SizeLimitExceededException e) {
        reportSizeLimitExceeded(e);

    } catch (FileUploadException e) {
        logger.warn("There was some problem parsing this multipart request, "
                + "or someone is not sending a RFC1867 compatible multipart request.", e);
    }

    stack.next(method, instance);
}

From source file:edu.cornell.mannlib.vitro.webapp.filestorage.uploadrequest.MultipartHttpServletRequest.java

/** Either create a new List for the file, or add to an existing List. */
private void addToFileItems(Map<String, List<FileItem>> map, FileItem file) {
    String name = file.getFieldName();
    if (!map.containsKey(name)) {
        map.put(name, new ArrayList<FileItem>());
    }//from   w w  w.  j  a  v  a2 s. co  m
    map.get(name).add(file);
}