Example usage for org.apache.commons.fileupload.servlet ServletFileUpload parseRequest

List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload parseRequest

Introduction

In this page you can find the example usage for org.apache.commons.fileupload.servlet ServletFileUpload parseRequest.

Prototype

public List  parseRequest(HttpServletRequest request) throws FileUploadException 

Source Link

Document

Processes an <a href="http://www.ietf.org/rfc/rfc1867.txt">RFC 1867</a> compliant <code>multipart/form-data</code> stream.

Usage

From source file:com.intranet.intr.proyecto.SupControllerProyectoGaleriaCertificaciones.java

@RequestMapping(value = "Certificaciones_galeria.htm", method = RequestMethod.POST)
public String fotoEmpleado_post(@ModelAttribute("fotogaleria") proyecto_certificaciones_galeria galer,
        BindingResult result, HttpServletRequest request) {
    String mensaje = "";
    //C:\\glassfish-4.1.1-web\\glassfish4\\glassfish\\domains\\domain1\\applications\\Intranet\\resources\\
    String ubicacionArchivo = "C:\\glassfish-4.1.1-web\\glassfish4\\glassfish\\domains\\domain1\\applications\\Intranet\\resources\\fotosCertificaciones";
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(1024);/*from ww  w  . ja  va 2 s  . co m*/

    ServletFileUpload upload = new ServletFileUpload(factory);

    try {
        List<FileItem> partes = upload.parseRequest(request);
        for (FileItem item : partes) {
            galer.setId_proyecto_certificaciones(idPC);
            if (proyectoCertificacionesGaleriaService.existe(item.getName()) == false) {
                System.out.println("NOMBRE FOTO: " + item.getName());
                File file = new File(ubicacionArchivo, item.getName());
                item.write(file);
                galer.setNombreimg(item.getName());
                proyectoCertificacionesGaleriaService.insertar(galer);
            }

        }
        System.out.println("Archi subido correctamente");
    } catch (Exception ex) {
        System.out.println("Error al subir archivo" + ex.getMessage());
    }

    //return "redirect:uploadFile.htm";

    return "redirect:Certificaciones_galeria.htm?idC=" + idPC.getId();

}

From source file:com.netfinworks.rest.convert.MultiPartFormDataParamConvert.java

@SuppressWarnings("rawtypes")
public <T> T convert(Request restRequest, Class<T> paramClass) {
    //multipart/form-data??requestString/inputStream        
    T pojo;/*  w  w  w. j a  v a2s  .c  om*/
    try {
        pojo = paramClass.newInstance();
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setFileSizeMax(Magic.MultiPartFileSizeMax);
        List items = upload.parseRequest(restRequest.getRawRequest());
        Iterator iter = items.iterator();//upload.getItemIterator(restRequest.getRawRequest());
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            logger.debug(item.toString());
            if (item.isFormField()) {
                processFormField(item, pojo);
            } else {
                processUploadedFile(item, pojo);
            }
        }
        return pojo;
    } catch (InstantiationException e) {
        logger.error("can't instantiate a pojo of {}, please check the Pojo", paramClass);
        throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
        logger.error("can't invoke none-args constructor of a pojo of {}, please check the Pojo", paramClass);
        throw new RuntimeException(e);
    } catch (FileUploadException e) {
        logger.error("fileupload error.", paramClass);
        throw new RuntimeException(e);
    }
}

From source file:eml.studio.server.file.FileUploadServlet.java

/**
 * save file upload to server/*  w  ww.java 2s.  c  o  m*/
 * @param request HttpServletRequest
 * @param response HttpServletResponse
 * @throws ServletException
 */

public void saveUploadFile(HttpServletRequest request, HttpServletResponse response) throws ServletException {
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setHeaderEncoding("UTF-8");
    List items = null;
    List items_findId = null;
    try {
        items = upload.parseRequest(request);
        items_findId = items;
    } catch (FileUploadException ex) {
        ex.printStackTrace();
    }
    String ID = new String();
    Iterator iter_findId = items_findId.iterator();
    while (iter_findId.hasNext()) {
        FileItem item_findId = (FileItem) iter_findId.next();
        if (item_findId.isFormField()) {
            String fieldName = item_findId.getFieldName();
            String fieldValue;
            try {
                fieldValue = item_findId.getString("UTF-8");

                if ("Fileuuid".equals(fieldName)) {
                    ID = Constants.MODULE_PATH + "/" + fieldValue;

                } else
                    ID = Constants.DATASET_PATH + "/" + fieldValue;
                logger.info("[UUID]:" + fieldName + ":" + ID);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
    }
    Iterator iter = items.iterator();
    while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();
        if (item.isFormField()) {
        } else {
            InputStream in;
            try {
                in = item.getInputStream();
                if (item.getName().endsWith(".zip")) {
                    unZipFiles(in, ID);
                    HDFSIO.uploadfile("/" + ID + "/", item, item.getName());
                } else {
                    if (ID.contains("Data")) {
                        HDFSIO.uploadfile("/" + ID + "/", item, ID.split("Data")[1]);
                    } else
                        HDFSIO.uploadfile("/" + ID + "/", item, item.getName());
                }

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

}

From source file:cdc.util.Upload.java

public boolean anexos(HttpServletRequest request) throws Exception {
    request.setCharacterEncoding("ISO-8859-1");
    if (ServletFileUpload.isMultipartContent(request)) {
        int cont = 0;
        ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
        List fileItemsList = null;
        try {//from w w  w  .  j  a v  a 2s  .  c  o  m
            fileItemsList = servletFileUpload.parseRequest(request);
        } catch (FileUploadException e) {
            e.printStackTrace();
        }
        String optionalFileName = "";
        FileItem fileItem = null;
        Iterator it = fileItemsList.iterator();
        do {
            //cont++;
            FileItem fileItemTemp = (FileItem) it.next();
            if (fileItemTemp.isFormField()) {
                if (fileItemTemp.getFieldName().equals("file")) {
                    optionalFileName = fileItemTemp.getString();
                }
                parametros.put(fileItemTemp.getFieldName(), fileItemTemp.getString());
            } else {
                fileItem = fileItemTemp;
            }
            if (cont != (fileItemsList.size())) {
                if (fileItem != null) {
                    String fileName = fileItem.getName();
                    if (fileItem.getSize() > 0) {
                        if (optionalFileName.trim().equals("")) {
                            fileName = FilenameUtils.getName(fileName);
                        } else {
                            fileName = optionalFileName;
                        }
                        String dirName = request.getServletContext().getRealPath(pasta);
                        File saveTo = new File(dirName + "/" + fileName);
                        //verificando se a pasta existe. Caso contrrio, criar ela
                        File pasta = new File(dirName);
                        if (!pasta.exists())
                            pasta.mkdirs();//criando a pasta

                        parametros.put("foto", fileName);

                        try {
                            fileItem.write(saveTo);//Escrevendo o arquivo temporrio no diretrio correto
                        } catch (Exception e) {
                        }
                    }
                }
            }
            cont++;
        } while (it.hasNext());
        return true;
    } else {
        return false;
    }
}

From source file:net.sourceforge.jwebunit.tests.util.ParamsServlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.write(HtmlHelper.getStart("Submitted parameters"));
    out.write("<h1>Submitted parameters</h1>\n<p>Params are:<br/>");
    /*//ww  w . j a va2 s .  com
     * Prints POST and GET parameters as name=[value1[,value2...]] separated
     * by <BR/>
     */

    // Check that we have a file upload request
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    if (isMultipart) {
        // Create a factory for disk-based file items
        FileItemFactory factory = new DiskFileItemFactory();

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        // Parse the request
        List /* FileItem */ items = null;
        try {
            items = upload.parseRequest(request);
        } catch (FileUploadException e) {
            throw new ServletException(e);
        }

        String ref = null;
        // Process the uploaded items
        Iterator iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();

            if (item.isFormField()) {
                out.write(" " + item.getFieldName() + "=[" + item.getString());
                if (item.getFieldName().equals("myReferer")) {
                    ref = item.getString();
                }
            } else {
                String fieldName = item.getFieldName();
                String fileName = item.getName();
                out.write(" " + fieldName + "=[" + fileName + "{" + new String(item.get()) + "}");

            }
            if (iter.hasNext()) {
                out.write("]<br/>\n");
            }
        }
        out.write("]</p>\n");
        out.write(HtmlHelper.getLinkParagraph("return", ref));
    } else {
        java.util.Enumeration params = request.getParameterNames();
        for (; params.hasMoreElements();) {
            String p = params.nextElement().toString();
            String[] v = request.getParameterValues(p);
            out.write(p + "=[");
            int n = v.length;
            if (n > 0) {
                out.write(v[0] != null ? v[0] : "");
                for (int i = 1; i < n; i++) {
                    out.write("," + (v[i] != null ? v[i] : ""));
                }
            }
            if (params.hasMoreElements()) {
                out.write("]<br/>\n");
            }
        }
        out.write("]</p>\n");
        String ref = request.getHeader("Referer");
        if (ref == null) {
            if (request.getParameterValues("myReferer") != null) {
                ref = request.getParameterValues("myReferer")[0];
            }
        }
        out.write(HtmlHelper.getLinkParagraph("return", ref));
    }
    out.write(HtmlHelper.getEnd());
}

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

/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*///from  w w  w .  j a  v  a2s.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:mercury.DigitalMediaController.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    if (isMultipart) {
        ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());
        try {//  w w w  .j a  v a2  s  .com
            List items = upload.parseRequest(request);
            Iterator iter = items.iterator();

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

                if (!item.isFormField()) {
                    Integer serial = (new DigitalMediaDAO()).uploadToDigitalMedia(item);

                    String filename = item.getName();
                    if (filename.lastIndexOf('\\') != -1) {
                        filename = filename.substring(filename.lastIndexOf('\\') + 1);
                    }
                    if (filename.lastIndexOf('/') != -1) {
                        filename = filename.substring(filename.lastIndexOf('/') + 1);
                    }

                    String id = serial + ":" + filename;
                    String encodedId = new String(new Base64().encode(id.getBytes()));
                    encodedId = encodedId.replaceAll("\\\\", "_");
                    if (serial != null && serial != 0) {
                        response.getWriter().write("{success: true, id: \"" + encodedId + "\"}");
                        return;
                    }
                }
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
        }
        response.getWriter().write("{success: false}");
    } else {
        String decodedId = null;
        DigitalMediaDTO dto = null;

        try {
            String id = request.getParameter("id");
            id = id.replaceAll("_", "\\\\");
            decodedId = new String(new Base64().decode(id.getBytes()));

            String[] splitId = decodedId.split(":");
            if (splitId.length == 2 && splitId[0].matches("^\\d+$")) {
                dto = (new DigitalMediaDAO()).getDigitalMedia(Integer.valueOf(splitId[0]), splitId[1]);
            }
        } catch (Exception e) {
            // dto should be null here
        }

        InputStream in = null;
        byte[] bytearray = null;
        int length = 0;
        String defaultFile = request.getParameter("default");
        response.reset();
        try {
            if (dto != null && dto.getIn() != null) {
                response.setContentType(dto.getMimeType());
                response.setHeader("Content-Disposition", "filename=" + dto.getFileName());
                length = dto.getLength();
                in = dto.getIn();
            }

            if (in == null && StringUtils.isNotBlank(defaultFile)) {
                String path = getServletContext().getRealPath("/");
                File file = new File(path + defaultFile);
                length = (int) file.length();
                in = new FileInputStream(file);
            }

            if (in != null) {
                bytearray = new byte[length];
                int index = 0;
                OutputStream os = response.getOutputStream();
                while ((index = in.read(bytearray)) != -1) {
                    os.write(bytearray, 0, index);
                }
                in.close();
            } else {
                response.getWriter().write("{success: false}");
            }
        } catch (Exception e) {
            e.printStackTrace();
            response.getWriter().write("{success: false}");
        }
        response.flushBuffer();
    }
}

From source file:com.bmth.MyServlet.UploadServlet.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("application/json");
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    HttpSession session = request.getSession();
    Account account = (Account) session.getAttribute("account");
    Register re = new Register();
    User user = re.getUserById(account.getUserId());
    // process only if it is multipart content
    String status = "aaa";
    String category = "other";
    if (isMultipart) {
        // Create a factory for disk-based file items
        FileItemFactory factory = new DiskFileItemFactory();

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);
        try {/*  w w  w.  ja v a2s.co m*/
            // Parse the request
            List<FileItem> multiparts = upload.parseRequest(request);
            ImageDAO img = new ImageDAO();
            String imgId = user.getUserId() + "" + (img.getAllImageUserId(user.getUserId()).size() + 1);
            int imageId = Integer.parseInt(imgId);
            Image image = new Image();
            image.setImgId(imageId);
            image.setUserId(user.getUserId());
            image.setPoint(0f);
            image.setImgDate(Calendar.getInstance().getTimeInMillis());

            for (FileItem item : multiparts) {

                if (!item.isFormField()) {
                    String contentType = item.getContentType();
                    String[] ext = contentType.split("/");

                    String fileName = UPLOAD_DIRECTORY + File.separator + user.getUserId() + "_" + imgId;
                    File file = new File(fileName);
                    item.write(file);
                    image.setImgUrl("http://localhost:8080/Image/" + file.getName());
                } else {
                    String fieldName = item.getFieldName();
                    if (fieldName.equals("status")) {
                        image.setImgDescribe(item.getString());
                    }
                    if (fieldName.equals("optionsRadios")) {
                        image.setTheme(theme(item.getString()));
                    }
                }
            }

            img.AddImage(image);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    String json = "{\"message\": \"success\"}";
    response.getWriter().write(json);
}

From source file:cc.aileron.wsgi.request.WsgiRequestParameterFactoryImpl.java

/**
 * @param request/*from w w  w . j a  va  2s.co m*/
 * @param conv
 * @param upload
 * @return map
 * @throws FileUploadException
 */
private HashMap<String, Object> initMap(final Charset characterEncoding, final HttpServletRequest request,
        final ServletFileUpload upload) throws FileUploadException {
    final List<FileItem> params = Cast.<List<FileItem>>cast(upload.parseRequest(request));
    final HashMap<String, Object> result = new HashMap<String, Object>();
    final HashMap<String, List<Object>> tmp = new HashMap<String, List<Object>>();
    for (final FileItem item : params) {
        final String key = item.getFieldName();
        final List<Object> vals;
        {
            List<Object> t = tmp.get(key);
            if (t == null) {
                t = new SkipList<Object>();
                tmp.put(key, t);
            }
            vals = t;
        }
        if (item.isFormField()) {
            vals.add(new String(item.getString().getBytes(rawEncoding), characterEncoding));
        } else {
            vals.add(item);
        }
    }
    for (final Entry<String, List<Object>> e : tmp.entrySet()) {
        final String key = e.getKey();
        final List<Object> vals = e.getValue();
        result.put(key, vals.size() == 1 ? vals.get(0) : vals);
    }
    return result;
}

From source file:edu.lternet.pasta.portal.MetadataPreviewerServlet.java

/**
 * The doPost method of the servlet. <br>
 *
 * This method is called when a form has its tag value method equals to post.
 * // w  w w . ja  va 2  s  .  c  o  m
 * @param request the request send by the client to the server
 * @param response the response send by the server to the client
 * @throws ServletException if an error occurred
 * @throws IOException if an error occurred
 */
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    HttpSession httpSession = request.getSession();
    String uid = (String) httpSession.getAttribute("uid");
    String forward = "./metadataViewer.jsp";

    if (uid == null || uid.isEmpty())
        uid = "public";

    String html = null;

    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    if (isMultipart) {

        // Create a factory for disk-based file items
        FileItemFactory factory = new DiskFileItemFactory();

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        // Parse the request
        try {

            List /* FileItem */ items = upload.parseRequest(request);

            // Process the uploaded items
            Iterator iter = items.iterator();

            while (iter.hasNext()) {

                FileItem item = (FileItem) iter.next();

                if (!(item.isFormField())) {

                    String eml = processUploadedFile(item);

                    EmlUtility emlUtility = new EmlUtility(eml);
                    html = emlUtility.xmlToHtmlSaxon(cwd + xslpath, null);
                }

            }

        } catch (Exception e) {
            handleDataPortalError(logger, e);
        }
    }

    request.setAttribute("metadataHtml", html);
    RequestDispatcher requestDispatcher = request.getRequestDispatcher(forward);
    requestDispatcher.forward(request, response);
}