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.ait.tooling.server.core.servlet.FileUploadServlet.java

@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    logger.info("STARTING UPLOAD");

    try {/* ww w.  j a  v a  2 s.  c om*/
        DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();

        ServletFileUpload fileUpload = new ServletFileUpload(fileItemFactory);

        fileUpload.setSizeMax(FILE_SIZE_LIMIT);

        List<FileItem> items = fileUpload.parseRequest(request);

        for (FileItem item : items) {
            if (item.isFormField()) {
                logger.info("Received form field");

                logger.info("Name: " + item.getFieldName());

                logger.info("Value: " + item.getString());
            } else {
                logger.info("Received file");

                logger.info("Name: " + item.getName());

                logger.info("Size: " + item.getSize());
            }
            if (false == item.isFormField()) {
                if (item.getSize() > FILE_SIZE_LIMIT) {
                    response.sendError(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE,
                            "File size exceeds limit");

                    return;
                }
                // Typically here you would process the file in some way:
                // InputStream in = item.getInputStream();
                // ...

                if (false == item.isInMemory()) {
                    item.delete();
                }
            }
        }
    } catch (Exception e) {
        logger.error("Throwing servlet exception for unhandled exception", e);

        throw new ServletException(e);
    }
}

From source file:com.college.AddAdditionalMarksheet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.// ww w.ja v a  2  s .c om
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    try {

        String certificateName = request.getParameter("certificateName");

        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
        ps = con.prepareStatement("insert into certificate (studentId, certificate) values (?,?)");

        DiskFileItemFactory factory = new DiskFileItemFactory();

        ServletFileUpload sfu = new ServletFileUpload(factory);
        List items = sfu.parseRequest(request);

        Iterator iter = items.iterator();
        byte[] certificate = null;

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

            byte[] blobValue = item.get();
            if (blobValue != null && blobValue.length > 0) {
                String fieldName = item.getFieldName();

                if (!item.isFormField()) { //This if clause is for images.
                    if ("certificate".equalsIgnoreCase(fieldName)) {
                        certificate = blobValue;
                    }

                    // you can add more clauses here.
                } else { // This else clause if for other fields.
                    String fieldValue = new String(blobValue);
                    if (item.getFieldName() != null) {
                        if ("studentId".equalsIgnoreCase(fieldName)) {
                            studentId = fieldValue;
                        } else if ("studentName".equalsIgnoreCase(fieldName)) {
                            studentName = fieldValue;
                        }

                        // add more fields here.
                    }
                }
            }
        }

        ps.setString(1, studentId);
        ps.setBytes(2, certificate);

        int i = ps.executeUpdate();
        if (i != 0) {
            out.println("Success");
            response.sendRedirect(
                    "additionalMarksheetForm.jsp?studentName=" + studentName + "&studentId=" + studentId);
            out.println("Success");
        } else {
            out.println("Failed");
        }
    } catch (Exception ex) {
        out.println(ex);
    } finally {
        out.close();
    }
}

From source file:com.eduAnalytics.servlet.FileUploadServlet.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request//from   w ww .j  a v a2s. co  m
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String action = request.getParameter("action");
    boolean isMultipartContent = ServletFileUpload.isMultipartContent(request);
    if (!isMultipartContent) {
        System.out.println("You are not trying to upload<br/>");
        return;
    }
    System.out.println("You are trying to upload<br/>");

    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    try {
        List<FileItem> fields = upload.parseRequest(request);
        System.out.println("Number of fields: " + fields.size() + "<br/><br/>");
        Iterator<FileItem> it = fields.iterator();
        if (!it.hasNext()) {
            System.out.println("No fields found");
            return;
        }
        while (it.hasNext()) {
            FileItem fileItem = it.next();
            boolean isFormField = fileItem.isFormField();
            if (isFormField) {
                System.out.println("<td>regular form field</td><td>FIELD NAME: " + fileItem.getFieldName()
                        + "<br/>STRING: " + fileItem.getString());
                System.out.println("</td>");
            } else {
                AdminDAO adminDAO = new AdminDAO();
                int successEntries = 0;
                if (action.equals("addDiscipline")) {
                    successEntries = adminDAO.uploadDiscipline(fileItem.getString());
                } else if (action.equals("addCourse")) {
                    successEntries = adminDAO.uploadCourse(fileItem.getString());
                }
                System.out.println("servlet entries " + successEntries);
                response.setContentType("text/plain");
                out.print(successEntries);
            }
        }
    } catch (FileUploadException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

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

public UploadMultipartRequestWrapper(HttpServletRequest request, ServletFileUpload upload)
        throws ServletException {
    super(request);
    try {/*w  w w. j  a v  a2  s  .com*/
        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:AdminPackage.AdminAddProductController.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request/*from www  .  j  a v  a  2  s .  co m*/
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    HProductDao pDao = new HProductDao();
    Product product = new Product();
    Categories c = new Categories();
    try {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List<FileItem> items = upload.parseRequest(request);
        Iterator<FileItem> iter = items.iterator();
        while (iter.hasNext()) {

            FileItem item = iter.next();

            if (item.isFormField()) {
                String name = item.getFieldName();
                String value = item.getString();
                switch (name) {
                case "productName":
                    product.setProductName(value);
                    break;
                case "productDesc":
                    product.setProductDescription(value);
                    break;
                case "productPrice":
                    product.setProductPrice(Float.parseFloat(value));
                    break;
                case "productQuantityAvailable":
                    product.setProductQuntityavailable(Integer.parseInt(value));
                    break;
                case "productQuantitySold":
                    product.setProductQuntitysold(Integer.parseInt(value));
                    break;
                case "productCategory":
                    c.setIdcategory(Integer.parseInt(value));
                    product.setCategories(c);
                    break;
                }
            } else {
                if (!item.isFormField()) {
                    item.write(new File("C:/images/" + item.getName()));
                    product.setProductImg(item.getName());
                }
            }

        }
    } catch (FileUploadException ex) {
        ex.printStackTrace();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    pDao.insert(product);
    /*     PrintWriter out = response.getWriter();
     out.write("Done");*/

    response.sendRedirect("/WebProjectServletJsp/AdminProductController");
}

From source file:de.betterform.agent.web.servlet.UploadServlet.java

private void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String payload = "";
    try {//from w  w w  .j  ava2  s.  com
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List /* FileItem */ items = upload.parseRequest(request);

        Iterator iter = items.iterator();
        FileItem uploadItem = null;
        String collectionPath = "";
        String collectionName = "";
        String relativeUploadPath = "";
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();
            String fieldName = item.getFieldName();
            if (item.isFormField() && "bfUploadPath".equals(fieldName)) {
                relativeUploadPath = this.getFieldValue(item);
            } else if (item.isFormField() && "bfCollectionPath".equals(fieldName)) {
                collectionPath = this.getFieldValue(item);
            } else if (item.isFormField() && "bfCollectionName".equals(fieldName)) {
                collectionName = this.getFieldValue(item);
            } else if (item.getName() != null) {
                // FileItem of the uploaded file
                uploadItem = item;
            }
        }

        if (uploadItem != null && !"".equals(relativeUploadPath)) {
            this.uploadFile(request, uploadItem, relativeUploadPath);
        } else if (!"".equals(collectionName) && !"".equals(collectionPath)) {
            this.createColection(request, collectionName, collectionPath);
        } else {
            LOGGER.warn("error uploading file to '" + relativeUploadPath + "'");
        }
    } catch (FileUploadException e) {
        e.printStackTrace();
        payload = e.getMessage();
    } catch (Exception e) {
        e.printStackTrace();
        payload = e.getMessage();
    }
    response.getOutputStream().println("<html><body><textarea>" + payload + "</textarea></body></html>");
}

From source file:eg.agrimarket.controller.ProductController.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {//from   w  w  w  .  jav a  2s  .  c  o  m
        PrintWriter out = response.getWriter();
        eg.agrimarket.model.pojo.Product product = new eg.agrimarket.model.pojo.Product();
        Product productJPA = new Product();
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List<FileItem> items = upload.parseRequest(request);
        Iterator<FileItem> it = items.iterator();

        while (it.hasNext()) {
            FileItem item = it.next();
            if (!item.isFormField()) {
                byte[] image = item.get();
                if (image != null && image.length != 0) {
                    product.setImage(image);
                    productJPA.setImage(image);
                }
            } else {
                switch (item.getFieldName()) {
                case "name":
                    product.setName(item.getString());
                    productJPA.setName(item.getString());
                    System.out.println("name" + item.getString());
                    break;
                case "price":
                    product.setPrice(Float.valueOf(item.getString()));
                    productJPA.setPrice(Float.valueOf(item.getString()));
                    break;
                case "quantity":
                    product.setQuantity(Integer.valueOf(item.getString()));
                    productJPA.setQuantity(Integer.valueOf(item.getString()));
                    break;
                case "desc":
                    product.setDesc(item.getString());
                    productJPA.setDesc(item.getString());
                    System.out.println("desc: " + item.getString());
                    break;
                default:
                    Category category = new Category();
                    category.setId(Integer.valueOf(item.getString()));
                    product.setCategoryId(category);
                    productJPA.setCategoryId(category.getId());
                }
            }
        }

        ProductDao daoImp = new ProductDaoImp();
        boolean check = daoImp.addProduct(product);
        if (check) {
            List<Product> products = (List<Product>) request.getServletContext().getAttribute("products");
            if (products != null) {
                products.add(productJPA);
                request.getServletContext().setAttribute("products", products);

            }
            response.sendRedirect("http://" + request.getServerName() + ":" + request.getServerPort()
                    + "/AgriMarket/admin/getProducts?success=Successfully#header3-41");
        } else {
            response.sendRedirect("http://" + request.getServerName() + ":" + request.getServerPort()
                    + "/AgriMarket/admin/getProducts?status=Exist!#header3-41");
        }

    } catch (FileUploadException ex) {
        Logger.getLogger(ProductController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:Index.RegisterClienteImagesServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from w  w w. j  a  va2  s  . c o  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {

        String ubicacionArchivo = "~\\NetBeansProjects\\QuickOrderWeb\\web\\images";

        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(1024);
        factory.setRepository(new File(ubicacionArchivo));

        ServletFileUpload upload = new ServletFileUpload(factory);

        try {
            List<FileItem> partes = upload.parseRequest(request);
            webservice.Cliente client = new webservice.Cliente();

            for (FileItem item : partes) {
                client = (webservice.Cliente) request.getSession().getAttribute("registroUsuario");
                File file = new File(ubicacionArchivo, client.getNickname() + ".jpg");
                item.write(file);
                System.out.println("name: " + item.getName());
                client.setImagen(client.getNickname() + ".jpg");
            }

            QuickOrderWebService webService = new QuickOrderWebService();
            ControllerInterface port = webService.getQuickOrderWebServicePort();
            port.registrarCliente(client);

            request.setAttribute("error", null);
            request.setAttribute("agregado", "OK");
            request.removeAttribute("registroUsuario");
            request.getSession().removeAttribute("userName");

            request.getRequestDispatcher("/AltaCliente.jsp").forward(request, response);
        } catch (FileUploadException ex) {
            System.out.println("Error al subir el archivo: " + ex.getMessage());

            request.setAttribute("error", "Error al subir la imagen");
            request.setAttribute("funcionalidad", "Imagen");

            request.getRequestDispatcher("/Login.jsp").forward(request, response);
        } catch (Exception ex) {
            System.out.println("Error al subir el archivo: " + ex.getMessage());
            request.setAttribute("error", "Error al subir la imagen");
            request.setAttribute("funcionalidad", "Imagen");

            request.getRequestDispatcher("/Login.jsp").forward(request, response);

        }
    }
}

From source file:com.sketchy.server.ImageUploadServlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    JSONServletResult jsonServletResult = new JSONServletResult(Status.SUCCESS);
    try {/*from w  w w.  j  ava2 s  . co  m*/

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {

            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setRepository(FileUtils.getTempDirectory());
            factory.setSizeThreshold(MAX_SIZE);

            ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
            List<FileItem> files = servletFileUpload.parseRequest(request);
            for (FileItem fileItem : files) {
                String uploadFileName = fileItem.getName();
                if (StringUtils.isNotBlank(uploadFileName)) {
                    // Don't allow \\ in the filename, assume it's a directory separator and convert to "/"
                    // and take the filename after the last "/"
                    // This will fix the issue of Jetty not reading and serving files
                    // with "\" (%5C) characters 
                    // This also fixes the issue of IE sometimes sending the whole path 
                    // (depending on the security settings)
                    uploadFileName = StringUtils.replaceChars(uploadFileName, "\\", "/");
                    if (StringUtils.contains(uploadFileName, "/")) {
                        uploadFileName = StringUtils.substringAfterLast(uploadFileName, "/");
                    }

                    File uploadFile = HttpServer.getUploadFile(uploadFileName);
                    // make sure filename is actually in the upload directory
                    // we don't want any funny games
                    if (!uploadFile.getParentFile().equals(HttpServer.IMAGE_UPLOAD_DIRECTORY)) {
                        throw new RuntimeException("Can not upload File. Invalid directory!");
                    }

                    // if saved ok, then need to add the data file
                    SourceImageAttributes sourceImageAttributes = new SourceImageAttributes();
                    sourceImageAttributes.setImageName(uploadFileName);

                    File pngFile = HttpServer.getUploadFile(sourceImageAttributes.getImageFilename());
                    if (pngFile.exists()) {
                        throw new Exception(
                                "Can not Upload file. File '" + uploadFileName + "' already exists!");
                    }
                    File dataFile = HttpServer.getUploadFile(sourceImageAttributes.getDataFilename());

                    // Convert the image to a .PNG file
                    BufferedImage image = ImageUtils.loadImage(fileItem.getInputStream());
                    ImageUtils.saveImage(pngFile, image);

                    sourceImageAttributes.setWidth(image.getWidth());
                    sourceImageAttributes.setHeight(image.getHeight());

                    FileUtils.writeStringToFile(dataFile, sourceImageAttributes.toJson());
                    jsonServletResult.put("imageName", uploadFileName);
                }
            }
        }
    } catch (Exception e) {
        jsonServletResult = new JSONServletResult(Status.ERROR, e.getMessage());
    }
    response.setContentType("text/html");
    response.setStatus(HttpServletResponse.SC_OK);
    response.getWriter().print(jsonServletResult.toJSONString());
}

From source file:controller.editGames.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {

        boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
        if (isMultiPart) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            List items = upload.parseRequest(request);
            Iterator<FileItem> iter = items.iterator();
            while (iter.hasNext()) {
                FileItem fileItem = iter.next();
                if (fileItem.isFormField()) {
                    processFormField(fileItem);
                } else {
                    flItem = fileItem;/*w  w  w . j a va2  s .  c o m*/
                }
            }
        }

        Check b = new Check();
        b.setMinCpu(MinCpu);
        b.setMinCpuLvl(MinCpuLvl);
        b.setMinGpu(MinGpu);
        b.setMinGpuLvl(MinGpuLvl);
        b.setMinRam(MinRam);

        b.setCode(Code);

        b.setRecCpuLvl(RecCpuLvl);
        b.setRecCpu(RecCpu);
        b.setRecGpu(RecGpu);
        b.setRecGpuLvl(RecGpuLvl);
        b.setRecRam(RecRam);

        int i = b.editGame();

        if (i > 0) {
            RequestDispatcher rd = request.getRequestDispatcher("viewGames.jsp");
            request.setAttribute("return", "Edit Item is Successful.");
            rd.forward(request, response);
        } else {
            RequestDispatcher rd = request.getRequestDispatcher("editGames.jsp");
            request.setAttribute("return", "Edit Item is Failed.");
            rd.forward(request, response);
        }

    } catch (Exception e) {
        System.out.println(e);

    }
}