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:it.geosolutions.geofence.gui.server.UploadServlet.java

@SuppressWarnings("unchecked")
@Override//from ww w .  j ava2s .  c  o  m
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    // process only multipart requests
    if (ServletFileUpload.isMultipartContent(req)) {

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

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

        File uploadedFile = null;
        // Parse the request
        try {
            List<FileItem> items = upload.parseRequest(req);

            for (FileItem item : items) {
                // process only file upload - discard other form item types
                if (item.isFormField()) {
                    continue;
                }

                String fileName = item.getName();
                // get only the file name not whole path
                if (fileName != null) {
                    fileName = FilenameUtils.getName(fileName);
                }

                uploadedFile = File.createTempFile(fileName, "");
                // if (uploadedFile.createNewFile()) {
                item.write(uploadedFile);
                resp.setStatus(HttpServletResponse.SC_CREATED);
                resp.flushBuffer();

                // uploadedFile.delete();
                // } else
                // throw new IOException(
                // "The file already exists in repository.");
            }
        } catch (Exception e) {
            resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                    "An error occurred while creating the file : " + e.getMessage());
        }

        try {
            String wkt = calculateWKT(uploadedFile);
            resp.getWriter().print(wkt);
        } catch (Exception exc) {
            resp.getWriter().print("Error : " + exc.getMessage());
            logger.error("ERROR ********** " + exc);
        }

        uploadedFile.delete();

    } else {
        resp.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE,
                "Request contents type is not supported by the servlet.");
    }
}

From source file:controller.productServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    response.setCharacterEncoding("utf-8");
    String proimage = "";
    String nameProduct = "";
    double priceProduct = 0;
    String desProduct = "";
    String colorProduct = "";
    int years = 0;
    int catId = 0;
    int proid = 0;
    String command = "";

    if (!ServletFileUpload.isMultipartContent(request)) {
        // if not, we stop here
        PrintWriter writer = response.getWriter();
        writer.println("Error: Form must has enctype=multipart/form-data.");
        writer.flush();//ww w. jav a 2s .c o m
        return;
    }

    // configures upload settings
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // sets memory threshold - beyond which files are stored in disk 
    factory.setSizeThreshold(MEMORY_THRESHOLD);
    // sets temporary location to store files
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

    ServletFileUpload upload = new ServletFileUpload(factory);

    // sets maximum size of upload file
    upload.setFileSizeMax(MAX_FILE_SIZE);

    // sets maximum size of request (include file + form data)
    upload.setSizeMax(MAX_REQUEST_SIZE);

    // constructs the directory path to store upload file
    // this path is relative to application's directory
    String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY;

    // creates the directory if it does not exist
    File uploadDir = new File(uploadPath);
    if (!uploadDir.exists()) {
        uploadDir.mkdir();
    }

    try {
        // parses the request's content to extract file data
        @SuppressWarnings("unchecked")
        List<FileItem> formItems = upload.parseRequest(request);

        if (formItems != null && formItems.size() > 0) {
            // iterates over form's fields
            for (FileItem item : formItems) {
                // processes only fields that are not form fields
                if (!item.isFormField()) {
                    proimage = new File(item.getName()).getName();
                    String filePath = uploadPath + File.separator + proimage;
                    File storeFile = new File(filePath);
                    System.out.println(proimage);
                    item.write(storeFile);
                } else if (item.getFieldName().equals("name")) {
                    nameProduct = item.getString();
                } else if (item.getFieldName().equals("price")) {
                    priceProduct = Double.parseDouble(item.getString());
                } else if (item.getFieldName().equals("description")) {
                    desProduct = item.getString();
                    System.out.println(desProduct);
                } else if (item.getFieldName().equals("color")) {
                    colorProduct = item.getString();
                } else if (item.getFieldName().equals("years")) {
                    years = Integer.parseInt(item.getString());
                } else if (item.getFieldName().equals("catogory_name")) {
                    catId = Integer.parseInt(item.getString());
                } else if (item.getFieldName().equals("command")) {
                    command = item.getString();
                } else if (item.getFieldName().equals("proid")) {
                    proid = Integer.parseInt(item.getString());
                }
            }
        }
    } catch (Exception ex) {
        request.setAttribute("message", "There was an error: " + ex.getMessage());
    }

    String url = "", error = "";
    if (nameProduct.equals("")) {
        error = "Vui lng nhp tn danh mc!";
        request.setAttribute("error", error);
    }

    try {
        if (error.length() == 0) {
            ProductEntity p = new ProductEntity(catId, nameProduct, priceProduct, proimage, desProduct,
                    colorProduct, years);
            switch (command) {
            case "insert":
                prod.insertProduct(p);
                url = "/java/admin/ql-product.jsp";
                break;
            case "update":
                prod.updateProduct(catId, nameProduct, priceProduct, proimage, desProduct, colorProduct, years,
                        proid);
                url = "/java/admin/ql-product.jsp";
                break;
            }
        } else {
            url = "/java/admin/add-product.jsp";
        }
    } catch (Exception e) {

    }
    response.sendRedirect(url);
}

From source file:it.unisa.tirocinio.servlet.UploadInformationForModuleFilesServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from w w w  .  j a  va 2s .  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, JSONException {

    try {
        response.setContentType("text/html;charset=UTF-8");
        response.setHeader("Access-Control-Allow-Origin", "*");
        out = response.getWriter();
        isMultipart = ServletFileUpload.isMultipartContent(request);
        AdministratorDBOperation getSerialNumberObj = new AdministratorDBOperation();
        ConcreteStaff aAdmin = null;
        String serialNumber = null;
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List fileItems = upload.parseRequest(request);
        Iterator i = fileItems.iterator();
        File fileToStore = null;
        String adminSubfolderPath = filePath;
        while (i.hasNext()) {
            FileItem fi = (FileItem) i.next();
            if (!fi.isFormField()) {
                // Get the uploaded file parameters
                String fieldName = fi.getFieldName();
                String fileName = fi.getName();
                DateFormat dateFormat = new SimpleDateFormat("yyyy");
                Date date = new Date();
                if (fieldName.equals("modulefile")) {
                    fileToStore = new File(
                            adminSubfolderPath + fileSeparator + dateFormat.format(date) + " - Module.pdf");
                } else if (fieldName.equals("registerfile")) {
                    fileToStore = new File(
                            adminSubfolderPath + fileSeparator + dateFormat.format(date) + " - Register.pdf");
                }
                fi.write(fileToStore);
                // out.println("Uploaded Filename: " + fieldName + "<br>");
            } else {
                //out.println("It's not formfield");
                //out.println(fi.getString());
                aAdmin = getSerialNumberObj.getFK_DepartimentbyFK_Account(Integer.parseInt(fi.getString()));
                serialNumber = "" + aAdmin.getFKDepartment();
                adminSubfolderPath += fileSeparator + serialNumber;
                new File(adminSubfolderPath).mkdir();
            }
        }
        message.put("status", 1);
        out.print(message.toString());
    } catch (IOException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (FileUploadException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (Exception ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        out.close();
    }
}

From source file:com.woonoz.proxy.servlet.HttpPostRequestHandler.java

private HttpEntity createMultipartEntity(HttpServletRequest request, HttpPost httpPost)
        throws FileUploadException, IOException {
    DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
    ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
    MultipartEntity multipartEntity = new MultipartEntity();
    FileItemIterator iterator = servletFileUpload.getItemIterator(request);
    while (iterator.hasNext()) {
        FileItemStream fileItem = iterator.next();
        final String partName = fileItem.getFieldName();
        if (fileItem.isFormField()) {
            multipartEntity.addPart(partName, buildStringBody(fileItem));
        } else {/* www  .ja va2  s . com*/
            multipartEntity.addPart(partName, buildContentBodyFromFileItem(fileItem));
        }
    }
    return multipartEntity;
}

From source file:imageServlet.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request/*from  www  . j  av a 2s  .  c  o 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 {
    String name = "";
    String value = "";
    String imageurl = "";
    String path = "";
    try {
        String ImageFile = "";
        String itemName = "";

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (!isMultipart) {
        } else {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            List items = null;
            try {
                items = upload.parseRequest(request);
            } catch (FileUploadException e) {
                System.out.println("Exception in upload");
                e.getMessage();
            }

            Iterator itr = items.iterator();
            while (itr.hasNext()) {
                FileItem item = (FileItem) itr.next();
                if (item.isFormField()) {
                    name = item.getFieldName();
                    value = item.getString();
                    if (name.equals("ImageFile")) {
                        ImageFile = value;
                    }

                } else {
                    try {

                        itemName = item.getName();
                        File savedFile = new File(
                                this.getServletContext().getRealPath("/") + "images\\" + itemName);
                        File image = new File(request.getParameter("ImageFile"));
                        path = "/images/";
                        name = itemName;
                        item.write(savedFile);
                    } catch (Exception e) {
                        System.out.println("Error" + e.getMessage());
                    }
                }
            }
            try {
                int image = StudyDB.uploadImage("/images/" + itemName);
                imageurl = StudyDB.retrieveImage();

            } catch (Exception el) {
                System.out.println("Inserting error" + el.getMessage());
            }
        }
    } catch (Exception e) {
        System.out.println(e.getMessage());
    }
    String URL = "/displayImage.jsp";
    String message = "Success";
    request.setAttribute("message", message);
    request.setAttribute("imageurl", imageurl);
    getServletContext().getRequestDispatcher(URL).forward(request, response);

}

From source file:com.founder.fix.fixflow.FlowCenter.java

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
 *      response)//  w  w w .  j  a v a 2  s.c om
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String userId = StringUtil.getString(request.getSession().getAttribute(FlowCenterService.LOGIN_USER_ID));

    if (StringUtil.isEmpty(userId)) {
        String context = request.getContextPath();
        response.sendRedirect(context + "/");
        return;
    }
    CurrentThread.init();
    ServletOutputStream out = null;
    String action = StringUtil.getString(request.getParameter("action"));
    if (StringUtil.isEmpty(action)) {
        action = StringUtil.getString(request.getAttribute("action"));
    }
    if (StringUtil.isEmpty(action)) {
        action = "getMyTask";
    }
    RequestDispatcher rd = null;
    try {
        Map<String, Object> filter = new HashMap<String, Object>();

        if (ServletFileUpload.isMultipartContent(request)) {
            ServletFileUpload Uploader = new ServletFileUpload(new DiskFileItemFactory());
            // Uploader.setSizeMax("); // 
            Uploader.setHeaderEncoding("utf-8");
            List<FileItem> fileItems = Uploader.parseRequest(request);
            for (FileItem item : fileItems) {
                filter.put(item.getFieldName(), item);
                if (item.getFieldName().equals("action"))
                    action = item.getString();
            }
        } else {
            Enumeration enu = request.getParameterNames();
            while (enu.hasMoreElements()) {
                Object tmp = enu.nextElement();
                Object obj = request.getParameter(StringUtil.getString(tmp));

                // if (request.getAttribute("ISGET") != null)
                obj = new String(obj.toString().getBytes("ISO8859-1"), "utf-8");

                filter.put(StringUtil.getString(tmp), obj);
            }
        }

        Enumeration attenums = request.getAttributeNames();
        while (attenums.hasMoreElements()) {
            String paramName = (String) attenums.nextElement();

            Object paramValue = request.getAttribute(paramName);

            // ?map
            filter.put(paramName, paramValue);

        }

        filter.put("userId", userId);
        request.setAttribute("nowAction", action);
        if (action.equals("getMyProcess")) {
            rd = request.getRequestDispatcher("/fixflow/center/startTask.jsp");
            List<Map<String, String>> result = getFlowCenter().queryStartProcess(userId);

            Map<String, List<Map<String, String>>> newResult = new HashMap<String, List<Map<String, String>>>();
            for (Map<String, String> tmp : result) {
                String category = tmp.get("category");
                if (StringUtil.isEmpty(category))
                    category = "";

                List<Map<String, String>> tlist = newResult.get(category);
                if (tlist == null) {
                    tlist = new ArrayList<Map<String, String>>();
                }
                tlist.add(tmp);
                newResult.put(category, tlist);
            }
            request.setAttribute("result", newResult);
            //??sqlserverbug????
            request.setAttribute("userId", userId); // userId add Rex
            try {
                List<Map<String, String>> lastestProcess = getFlowCenter().queryLastestProcess(userId);
                request.setAttribute("lastest", lastestProcess);
            } catch (Exception ex) {
                ex.printStackTrace();
            }
        } else if (action.equals("getMyTask")) {
            rd = request.getRequestDispatcher("/fixflow/center/todoTask.jsp");
            filter.put("path", request.getSession().getServletContext().getRealPath("/"));
            Map<String, Object> pageResult = getFlowCenter().queryMyTaskNotEnd(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
            request.setAttribute("pageInfo", filter.get("pageInfo"));
        } else if (action.equals("getProcessImage")) {
            response.getOutputStream();
        } else if (action.equals("getAllProcess")) {
            rd = request.getRequestDispatcher("/fixflow/center/queryprocess.jsp");
            Map<String, Object> pageResult = getFlowCenter().queryTaskInitiator(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
            request.setAttribute("pageInfo", filter.get("pageInfo"));
        } else if (action.equals("getPlaceOnFile")) {
            rd = request.getRequestDispatcher("/fixflow/center/placeOnFile.jsp");
            Map<String, Object> pageResult = getFlowCenter().queryPlaceOnFile(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
            request.setAttribute("pageInfo", filter.get("pageInfo"));
        } else if (action.equals("getTaskDetailInfo")) {
            rd = request.getRequestDispatcher("/fixflow/center/flowGraphic.jsp");
            Map<String, Object> pageResult = getFlowCenter().getTaskDetailInfo(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
        } else if (action.equals("getTaskDetailInfoSVG")) {
            rd = request.getRequestDispatcher("/fixflow/center/flowGraphic.jsp");
            Map<String, Object> pageResult = getFlowCenter().getTaskDetailInfoSVG(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
        } else if (action.equals("getFlowGraph")) {
            InputStream is = getFlowCenter().getFlowGraph(filter);
            out = response.getOutputStream();
            response.setContentType("application/octet-stream;charset=UTF-8");
            byte[] buff = new byte[2048];
            int size = 0;
            while (is != null && (size = is.read(buff)) != -1) {
                out.write(buff, 0, size);
            }
        } else if (action.equals("getUserInfo")) {
            rd = request.getRequestDispatcher("/fixflow/common/userInfo.jsp");
            filter.put("path", request.getSession().getServletContext().getRealPath("/"));
            Map<String, Object> pageResult = getFlowCenter().getUserInfo(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
        } else if (action.equals("getUserIcon")) {
            rd = request.getRequestDispatcher("/fixflow/common/userOperation.jsp");
            filter.put("path", request.getSession().getServletContext().getRealPath("/"));
            Map<String, Object> pageResult = getFlowCenter().getUserInfo(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
        } else if (action.equals("updateUserIcon")) {
            rd = request.getRequestDispatcher("/FlowCenter?action=getUserInfo");
            filter.put("path", request.getSession().getServletContext().getRealPath("/"));
            getFlowCenter().saveUserIcon(filter);

        } else if (action.equals("selectUserList")) { //
            String isMulti = request.getParameter("isMulti");
            rd = request.getRequestDispatcher("/fixflow/common/selectUserList.jsp?isMulti=" + isMulti);
            Map<String, Object> pageResult = getFlowCenter().getAllUsers(filter);
            filter.putAll(pageResult);

            request.setAttribute("result", filter);
            request.setAttribute("isMulti", isMulti);
            request.setAttribute("pageInfo", filter.get("pageInfo"));
        } else if (action.equals("selectNodeList")) { //
            rd = request.getRequestDispatcher("/fixflow/common/selectNodeList.jsp");
            Map<String, Object> pageResult = getFlowCenter().getRollbackNode(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
        } else if (action.equals("selectStepList")) { //
            rd = request.getRequestDispatcher("/fixflow/common/selectStepList.jsp");
            Map<String, Object> pageResult = getFlowCenter().getRollbackTask(filter);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
        } else if (action.equals("viewDelegation")) { //
            rd = request.getRequestDispatcher("/fixflow/common/setDelegation.jsp");
            Map<String, Object> pageResult = new HashMap<String, Object>();
            pageResult = this.getFlowIdentityService().getUserDelegationInfo(userId);
            filter.putAll(pageResult);
            request.setAttribute("result", filter);
        } else if (action.equals("saveDelegation")) { //

            String agentInfoJson = StringUtil.getString(request.getParameter("insertAndUpdate"));
            if (StringUtil.isNotEmpty(agentInfoJson)) {
                Map<String, Object> delegationInfo = JSONUtil.parseJSON2Map(agentInfoJson);
                this.getFlowIdentityService().saveUserDelegationInfo(delegationInfo);
            }
            response.setContentType("text/html;charset=UTF-8");
            response.getWriter().write("<script>alert('??');window.close();</script>");
        }
    } catch (Exception e) {
        e.printStackTrace();
        request.setAttribute("errorMsg", e.getMessage());
        try {
            CurrentThread.rollBack();
        } catch (SQLException e1) {
            e1.printStackTrace();
            request.setAttribute("errorMsg", e.getMessage());
        }
    } finally {
        if (out != null) {
            out.flush();
            out.close();
        }
        try {
            CurrentThread.clear();
        } catch (SQLException e) {
            request.setAttribute("errorMsg", e.getMessage());
            e.printStackTrace();
        }
    }
    if (rd != null) {
        rd.forward(request, response);
    }
}

From source file:com.mingsoft.basic.servlet.UploadServlet.java

/**
 * ?post//from w  w  w . j av a 2 s .  c  o m
 * @param req HttpServletRequest
 * @param res HttpServletResponse 
 * @throws ServletException ?
 * @throws IOException ?
 */
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    res.setContentType("text/html;charset=utf-8");
    PrintWriter out = res.getWriter();
    String uploadPath = this.getServletContext().getRealPath(File.separator); // 
    String isRename = "";// ???? true:???
    String _tempPath = req.getServletContext().getRealPath(File.separator) + "temp";//
    FileUtil.createFolder(_tempPath);
    File tempPath = new File(_tempPath); // 

    int maxSize = 1000000; // ??,?? 1000000/1024=0.9M
    //String allowedFile = ".jpg,.gif,.png,.zip"; // ?
    String deniedFile = ".exe,.com,.cgi,.asp"; // ??

    DiskFileItemFactory factory = new DiskFileItemFactory();
    // maximum size that will be stored in memory
    // ?????
    factory.setSizeThreshold(4096);
    // the location for saving data that is larger than getSizeThreshold()
    // ?SizeThreshold?
    factory.setRepository(tempPath);

    ServletFileUpload upload = new ServletFileUpload(factory);
    // maximum size before a FileUploadException will be thrown

    try {
        List fileItems = upload.parseRequest(req);

        Iterator iter = fileItems.iterator();

        // ????
        String regExp = ".+\\\\(.+)$";

        // 
        String[] errorType = deniedFile.split(",");
        Pattern p = Pattern.compile(regExp);
        String outPath = ""; //??
        while (iter.hasNext()) {

            FileItem item = (FileItem) iter.next();
            if (item.getFieldName().equals("uploadPath")) {
                outPath += item.getString();
                uploadPath += outPath;
            } else if (item.getFieldName().equals("isRename")) {
                isRename = item.getString();
            } else if (item.getFieldName().equals("maxSize")) {
                maxSize = Integer.parseInt(item.getString()) * 1048576;
            } else if (item.getFieldName().equals("allowedFile")) {
                //               allowedFile = item.getString();
            } else if (item.getFieldName().equals("deniedFile")) {
                deniedFile = item.getString();
            } else if (!item.isFormField()) { // ???
                String name = item.getName();
                long size = item.getSize();
                if ((name == null || name.equals("")) && size == 0)
                    continue;
                try {
                    // ?? 1000000/1024=0.9M
                    upload.setSizeMax(maxSize);

                    // ?
                    // ?
                    String fileName = System.currentTimeMillis() + name.substring(name.indexOf("."));
                    String savePath = uploadPath + File.separator;
                    FileUtil.createFolder(savePath);
                    // ???
                    if (StringUtil.isBlank(isRename) || Boolean.parseBoolean(isRename)) {
                        savePath += fileName;
                        outPath += fileName;
                    } else {
                        savePath += name;
                        outPath += name;
                    }
                    item.write(new File(savePath));
                    out.print(outPath.trim());
                    logger.debug("upload file ok return path " + outPath);
                    out.flush();
                    out.close();
                } catch (Exception e) {
                    this.logger.debug(e);
                }

            }
        }
    } catch (FileUploadException e) {
        this.logger.debug(e);
    }
}

From source file:controller.SignUpController.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request/*from w  ww . ja  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 {

    CreditDao creditDao = new CreditDaoImpl();

    try {

        boolean creditExist = false;

        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 = new User();
        Credit credit = new Credit();
        UserDao userDaoImpl = new UserDaoImpl();
        ArrayList<String> 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());
                    credit.setNumber(item.getString());
                    if (creditDao.checkCredit(credit)) {//credit number is exist is 
                        if (!(userDaoImpl.isCreditNumberAssigned(credit))) {
                            creditExist = true;
                            System.out.println("creditExist = true;");
                        } else {

                            creditExist = false;
                            System.out.println("creditExist = falsefalse;");

                        }
                    } else {
                        creditExist = false;

                        System.out.println("creditExist=false;");

                    }
                    break;

                default:
                    newInterests.add(item.getString());
                    System.out.println(item.getFieldName() + " : " + item.getString());
                }
            }
        }

        // check if user exist in Db 
        if (creditExist) {
            user.setInterests(newInterests);
            UserDaoImpl userDao = new UserDaoImpl();

            //
            userDao.signUp(user);
            session.setAttribute("user", user);

            System.out.println(user.getInterests());
            System.out.println(user.getImage());

            response.sendRedirect("index.jsp");
        } else {

            response.sendRedirect("sign_up.jsp");
            System.out.println("user didnt saved");

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

}

From source file:com.servlet.tools.FileUploadHelper.java

public boolean Initialize() {
    boolean result;
    String tempRealPath;/*from  w w w.j a v a  2 s  . co  m*/
    File repository;
    int sizeThreshold;
    DiskFileItemFactory diskFileItemFactory;
    ServletFileUpload fileUpload;
    try {
        tempRealPath = SystemInfo.ProjectRealPath + File.separator + tempFilePath;
        if (!FileHelper.CheckAndCreateDirectory(tempRealPath)) {
            //                log
            return false;
        }
        this.relativePath = MappingRelativePath();
        System.out.println(tempRealPath);
        repository = new File(tempRealPath);
        sizeThreshold = 1024 * 6;
        diskFileItemFactory = new DiskFileItemFactory();
        diskFileItemFactory.setRepository(repository);
        diskFileItemFactory.setSizeThreshold(sizeThreshold);
        fileUpload = new ServletFileUpload(diskFileItemFactory);
        fileUpload.setSizeMax(limitedSize);
        fileUpload.setHeaderEncoding("UTF-8");
        result = true;
    } catch (Exception ex) {
        fileUpload = null;
        result = false;
        //log
    }
    if (result) {
        this.servletFileUpload = fileUpload;
    }
    return result;
}

From source file:egovframework.com.utl.wed.filter.CkImageSaver.java

public void saveAndReturnUrlToClient(HttpServletRequest request, HttpServletResponse response)
        throws IOException {
    // Parse the request
    try {/*from w w  w.  j  a  v a  2s .c om*/
        FileItemFactory factory = new DiskFileItemFactory();

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

        List<FileItem> /* FileItem */ items = upload.parseRequest(request);
        // We upload just one file at the same time
        FileItem uplFile = items.get(0);

        String errorMessage = null;
        String relUrl = null;

        if (isAllowFileType(FilenameUtils.getName(uplFile.getName()))) {
            relUrl = fileSaveManager.saveFile(uplFile, imageBaseDir, imageDomain);

        } else {
            errorMessage = "Restricted Image Format";
        }

        StringBuffer sb = new StringBuffer();
        sb.append("<script type=\"text/javascript\">\n");
        // Compressed version of the document.domain automatic fix script.
        // The original script can be found at [fckeditor_dir]/_dev/domain_fix_template.js
        // sb.append("(function(){var d=document.domain;while (true){try{var A=window.parent.document.domain;break;}catch(e) {};d=d.replace(/.*?(?:\\.|$)/,'');if (d.length==0) break;try{document.domain=d;}catch (e){break;}}})();\n");
        sb.append("window.parent.CKEDITOR.tools.callFunction(").append(request.getParameter(FUNC_NO))
                .append(", '");
        sb.append(relUrl);
        if (errorMessage != null) {
            sb.append("', '").append(errorMessage);
        }
        sb.append("');\n </script>");

        response.setContentType("text/html");
        response.setHeader("Cache-Control", "no-cache");
        PrintWriter out = response.getWriter();

        out.print(sb.toString());
        out.flush();
        out.close();

    } catch (FileUploadException e) {
        log.error(e);
    }
}