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

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

Introduction

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

Prototype

public ServletFileUpload(FileItemFactory fileItemFactory) 

Source Link

Document

Constructs an instance of this class which uses the supplied factory to create FileItem instances.

Usage

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

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {/*from  w ww .j  av a2 s .c o m*/

        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List<FileItem> items = upload.parseRequest(request);
        Iterator<FileItem> it = items.iterator();

        HttpSession session = request.getSession(false);
        User user = (User) session.getAttribute("user");
        if (user == null) {
            user = new User();
        }
        ArrayList<Interest> newInterests = new ArrayList<>();
        while (it.hasNext()) {
            FileItem item = it.next();
            if (!item.isFormField()) {
                byte[] image = item.get();
                if (image != null && image.length != 0) {
                    user.setImage(image);
                }
                //                    System.out.println(user.getImage());
            } else {
                switch (item.getFieldName()) {
                case "name":
                    user.setUserName(item.getString());
                    break;
                case "mail":
                    user.setEmail(item.getString());
                    break;
                case "password":
                    user.setPassword(item.getString());
                    break;
                case "job":
                    user.setJob(item.getString());
                    break;
                case "date":
                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
                    LocalDate date = LocalDate.parse(item.getString(), formatter);
                    user.setDOB(date);
                    break;
                case "address":
                    user.setAddress(item.getString());
                    break;
                case "credit":
                    user.setCreditNumber(item.getString());
                    break;
                default:

                    eg.agrimarket.model.dto.Interest interest = new eg.agrimarket.model.dto.Interest();
                    interest.setId(Integer.parseInt(item.getString()));
                    interest.setName(item.getFieldName());
                    newInterests.add(interest);
                    System.out.println(item.getFieldName() + " : " + item.getString());
                }
            }
        }
        user.setInterests(newInterests);
        UserDaoImpl userDao = new UserDaoImpl();
        userDao.updateUser(user);

        session.setAttribute("user", user);
    } catch (FileUploadException ex) {
        Logger.getLogger(EditProfileController.class.getName()).log(Level.SEVERE, null, ex);
    } catch (Exception ex) {
        Logger.getLogger(EditProfileController.class.getName()).log(Level.SEVERE, null, ex);
    }
    response.sendRedirect("profile.jsp");
}

From source file:com.UploadAction.java

public String execute() throws Exception {
    try {/*from   www . ja  va  2s .c om*/
        //long maxFileSize = (2 * 1024 * 1024);
        //int maxMemSize = (2 * 1024 * 1024);
        //final String path = "/tmp";
        HttpServletRequest request = ServletActionContext.getRequest();
        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;
                }
            }
        }
        HttpSession session = ServletActionContext.getRequest().getSession(false);
        String User = (String) session.getAttribute("username");
        Connection con = Connections.conn();
        PreparedStatement stat = con.prepareStatement("update user set image=? where UserName=?");
        stat.setString(2, User);
        stat.setBinaryStream(1, flItem.getInputStream(), (int) flItem.getSize());
        // stat.setBinaryStream(4, (InputStream) itemPhoto.getInputStream(), (int) itemPhoto.getSize());
        int rows = stat.executeUpdate();
        if (rows > 0) {
            return "success";
        }
    } catch (Exception e) {
    }
    return "success";
}

From source file:azkaban.web.MultipartParser.java

@SuppressWarnings("unchecked")
public Map<String, Object> parseMultipart(HttpServletRequest request) throws IOException, ServletException {
    ServletFileUpload upload = new ServletFileUpload(_uploadItemFactory);
    List<FileItem> items = null;
    try {//w  w  w.  j a  va  2  s.  c o  m
        items = upload.parseRequest(request);
    } catch (FileUploadException e) {
        throw new ServletException(e);
    }

    Map<String, Object> params = new HashMap<String, Object>();
    for (FileItem item : items) {
        if (item.isFormField())
            params.put(item.getFieldName(), item.getString());
        else
            params.put(item.getFieldName(), item);
    }
    return params;
}

From source file:com.gae.ImageServlet.java

@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    MemoryFileItemFactory factory = new MemoryFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    //resp.setContentType("image/png");
    ServletOutputStream out = resp.getOutputStream();
    try {/*from   ww w  . j a va  2  s. c  o m*/
        List<FileItem> list = upload.parseRequest(req);
        for (FileItem item : list) {
            if (!(item.isFormField())) {
                String fileName = item.getName();

                //Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req);
                //BlobKey blobKey = blobs.get("myFile");                 

                if (fileName != null && !"".equals(fileName)) {
                    int size = (int) item.getSize();
                    byte[] data = new byte[size];
                    InputStream in = item.getInputStream();
                    in.read(data);
                    //ImagesService imagesService = ImagesServiceFactory.getImagesService(); 

                    /*
                    Image oldImage = ImagesServiceFactory.makeImage(data); 
                    Transform resize = ImagesServiceFactory.makeResize(180, 150); 
                    Image newImage = imagesService.applyTransform(resize, oldImage, OutputEncoding.PNG); 
                    byte[] newImageData = newImage.getImageData();
                    out.write(newImageData);
                    */
                    /*
                    Image image = ImagesServiceFactory.makeImage(data); 
                    byte[] ImageData = image.getImageData();
                    */
                    out.flush();
                }
            }
        }
    } catch (FileUploadException e) {
        e.printStackTrace();
    } finally {
        if (out != null) {
            out.close();
        }
    }
}

From source file:Commands.UploadImageCommand.java

@Override
public String executeCommand(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String forwardToJsp = "uploadImage.jsp";
    HttpSession session = request.getSession(true);
    String UPLOAD_DIRECTORY = request.getServletContext().getRealPath("") + File.separator + "img"
            + File.separator;/*from   w w  w .  j a va 2 s.  c  o  m*/

    if (ServletFileUpload.isMultipartContent(request)) {
        try {
            ArrayList<FileItem> multiparts = (ArrayList<FileItem>) new ServletFileUpload(
                    new DiskFileItemFactory()).parseRequest(request);

            session.setAttribute("errorMsg", multiparts.size());
            if (multiparts.size() > 0) {
                for (FileItem item : multiparts) {
                    if (item != null) {

                        String name = new File(item.getName()).getName();

                        String filename = UPLOAD_DIRECTORY + name;
                        session.setAttribute("errorMsg", filename);
                        File f = new File(filename);
                        if (!item.isFormField()) {
                            item.write(f);
                        }
                    }
                }
            } else {
                session.setAttribute("errorMsg", "No File Choosen");
            }
        } catch (Exception ex) {

        }
    }
    return forwardToJsp;
}

From source file:com.rampukar.controller.FileUploadHandler.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    //process only if its multipart content
    if (ServletFileUpload.isMultipartContent(request)) {
        try {//from www  .  j av  a2 s.co m
            List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);

            for (FileItem item : multiparts) {
                if (!item.isFormField()) {
                    String name = new File(item.getName()).getName();
                    item.write(new File(UPLOAD_DIRECTORY + File.separator + name));
                    out.print(name);
                }
            }

            //File uploaded successfully
            request.setAttribute("message", "File Uploaded Successfully");
        } catch (Exception ex) {
            request.setAttribute("message", "File Upload Failed due to " + ex);
        }

    } else {
        //            request.setAttribute("message", "Sorry this Servlet only handles file upload request");
    }

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

From source file:MainServer.ImageUploadServlet.java

@Override
public void init(ServletConfig config) throws ServletException {
    FileItemFactory factory = new DiskFileItemFactory();
    this.upload = new ServletFileUpload(factory);
    this.upload.setSizeMax(this.MAXsize);
    fileDir = config.getServletContext().getRealPath("image");
    System.out.println("fileDir = " + fileDir);

}

From source file:Controlador.UploadController.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    //verificar el multipart/form-data
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    String name = request.getParameter("name");
    try (PrintWriter out = response.getWriter()) {
        out.println("Nombre: " + name);
        if (isMultipart) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);

            try {
                List items = upload.parseRequest(request);
                Iterator iterator = items.iterator();
                while (iterator.hasNext()) {
                    FileItem item = (FileItem) iterator.next();

                    if (!item.isFormField()) {
                        String fileName = item.getName();

                        String root = getServletContext().getRealPath("/imagenes/");
                        File path = new File(root);
                        if (!path.exists()) {
                            boolean status = path.mkdirs();
                        }//from   w w w.j  av a  2s. com

                        File uploadedFile = new File(path + "/" + fileName);
                        out.println(uploadedFile.getAbsolutePath());
                        item.write(uploadedFile);
                    }
                }
            } catch (FileUploadException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

From source file:FYPManagementSystem.FileUploadHandler.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String address = "";

    String option = request.getParameter("Option");
    String addTitle = "";
    String addContent = "";

    String query = "";
    String queryLastID = "";
    DB objDB = new DB();
    //process only if its multipart content
    if (option.equals("Add")) {

        if (ServletFileUpload.isMultipartContent(request)) {
            try {

                List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory())
                        .parseRequest(request);

                for (FileItem item : multiparts) {
                    if (!item.isFormField()) {
                        String name = new File(item.getName()).getName();
                        item.write(new File(UPLOAD_DIRECTORY + File.separator + addTitle + ".jpg"));
                    } else if (item.isFormField()) {
                        if (item.getFieldName().contentEquals("addTitle")) { //Check if the item in the loop is the user_id
                            addTitle = item.getString(); //If yes store the value
                        }/*from  w ww.  j ava2  s  . c  om*/
                        if (item.getFieldName().contentEquals("addContent")) { //Check if the item in the loop is the user_id
                            addContent = item.getString(); //If yes store the value
                        }
                    }
                }
                query = "insert into news (newsTitle,newsContent) values('"
                        + Common.replaceSingleQuote(addTitle) + "','" + Common.replaceSingleQuote(addContent)
                        + "')";

                //File uploaded successfully
                request.setAttribute("message", "File Uploaded Successfully");
            } catch (Exception ex) {
                request.setAttribute("message", "File Upload Failed due to " + ex);
            }
            address = "WEB-INF/AdNews.jsp";
        } else {
            request.setAttribute("message", "Sorry this Servlet only handles file upload request");
        }
    }
    objDB.connect();
    objDB.query(query);
    objDB.close();

    RequestDispatcher dispatcher = request.getRequestDispatcher(address);
    dispatcher.forward(request, response);

}

From source file:com.liferay.apio.architect.internal.body.MultipartToBodyConverter.java

/**
 * Reads a {@code "multipart/form"} HTTP request body into a {@link Body}
 * instance or fails with a {@link BadRequestException} if the input is not
 * a valid multipart form.//from w w  w. ja v  a 2  s  .  co  m
 *
 * @review
 */
public static Body multipartToBody(HttpServletRequest request) {
    if (!isMultipartContent(request)) {
        throw new BadRequestException("Request body is not a valid multipart form");
    }

    FileItemFactory fileItemFactory = new DiskFileItemFactory();

    ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);

    try {
        List<FileItem> fileItems = servletFileUpload.parseRequest(request);

        Iterator<FileItem> iterator = fileItems.iterator();

        Map<String, String> values = new HashMap<>();
        Map<String, BinaryFile> binaryFiles = new HashMap<>();
        Map<String, Map<Integer, String>> indexedValueLists = new HashMap<>();
        Map<String, Map<Integer, BinaryFile>> indexedFileLists = new HashMap<>();

        while (iterator.hasNext()) {
            FileItem fileItem = iterator.next();

            String name = fileItem.getFieldName();

            Matcher matcher = _arrayPattern.matcher(name);

            if (matcher.matches()) {
                int index = Integer.parseInt(matcher.group(2));

                String actualName = matcher.group(1);

                _storeFileItem(fileItem, value -> {
                    Map<Integer, String> indexedMap = indexedValueLists.computeIfAbsent(actualName,
                            __ -> new HashMap<>());

                    indexedMap.put(index, value);
                }, binaryFile -> {
                    Map<Integer, BinaryFile> indexedMap = indexedFileLists.computeIfAbsent(actualName,
                            __ -> new HashMap<>());

                    indexedMap.put(index, binaryFile);
                });
            } else {
                _storeFileItem(fileItem, value -> values.put(name, value),
                        binaryFile -> binaryFiles.put(name, binaryFile));
            }
        }

        Map<String, List<String>> valueLists = _flattenMap(indexedValueLists);

        Map<String, List<BinaryFile>> fileLists = _flattenMap(indexedFileLists);

        return Body.create(key -> Optional.ofNullable(values.get(key)),
                key -> Optional.ofNullable(valueLists.get(key)), key -> Optional.ofNullable(fileLists.get(key)),
                key -> Optional.ofNullable(binaryFiles.get(key)));
    } catch (FileUploadException | IndexOutOfBoundsException | NumberFormatException e) {

        throw new BadRequestException("Request body is not a valid multipart form", e);
    }
}