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.krawler.esp.servlets.fileUploadXLS.java

/** 
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 * @param request servlet request/*  ww  w .ja v 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
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    JSONObject jobj = new JSONObject();
    try {
        jobj.put("success", true);
        FileItemFactory factory = new DiskFileItemFactory(4096, new File("/tmp"));
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(10000000);
        List fileItems = upload.parseRequest(request);
        Iterator i = fileItems.iterator();
        String destinationDirectory = StorageHandler.GetDocStorePath() + "xlsfiles";
        String fileName = null;
        while (i.hasNext()) {
            FileItem fi = (FileItem) i.next();
            if (fi.isFormField())
                continue;
            fileName = fi.getName();

            fi.write(new File(destinationDirectory, fileName));
        }

        POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(destinationDirectory + "/" + fileName));
        HSSFWorkbook wb = new HSSFWorkbook(fs);
        int count = wb.getNumberOfSheets();
        JSONArray jArr = new JSONArray();
        for (int x = 0; x < count; x++) {
            JSONObject obj = new JSONObject();
            obj.put("name", wb.getSheetName(x));
            obj.put("index", x);
            jArr.put(obj);
        }
        jobj.put("file", destinationDirectory + "/" + fileName);
        jobj.put("data", jArr);
        jobj.put("msg", "Image has been successfully uploaded");
        jobj.put("lsuccess", true);
        jobj.put("valid", true);
    } catch (Exception e) {
        Logger.getLogger(fileUploadXLS.class.getName()).log(Level.SEVERE, null, e);
        try {
            jobj.put("msg", e.getMessage());
            jobj.put("lsuccess", false);
            jobj.put("valid", true);
        } catch (Exception ex) {
        }
    } finally {
        out.println(jobj);
    }
}

From source file:CommonServlets.EditUser.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String email = null, userName = null, job = null, address = null, password = null, img = null, role = null;
    BigDecimal creditLimit = new BigDecimal(0);

    try {//from w  ww  . j  av a  2  s .c o m
        // Create a factory for disk-based file items
        DiskFileItemFactory factory = new DiskFileItemFactory();
        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        // Parse the request
        List<FileItem> items = upload.parseRequest(request);
        Iterator<FileItem> iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = iter.next();
            if (item.isFormField()) {
                //processFormField(item);
                String name = item.getFieldName();
                String value = item.getString();

                if (name.equalsIgnoreCase("email")) {
                    email = value;
                } else if (name.equalsIgnoreCase("userName")) {
                    userName = value;
                } else if (name.equalsIgnoreCase("creditLimit")) {
                    DecimalFormatSymbols symbols = new DecimalFormatSymbols();
                    symbols.setGroupingSeparator(',');
                    symbols.setDecimalSeparator('.');
                    String pattern = "#,##0.0#";
                    DecimalFormat decimalFormat = new DecimalFormat(pattern, symbols);
                    decimalFormat.setParseBigDecimal(true);
                    creditLimit = (BigDecimal) decimalFormat.parse(value);
                } else if (name.equalsIgnoreCase("job")) {
                    job = value;

                } else if (name.equalsIgnoreCase("address")) {
                    address = value;
                } else if (name.equalsIgnoreCase("password")) {
                    password = value;
                }
            } else if (!item.isFormField() && !item.getName().equals("")) {
                System.out.println(new File(AddProduct.class.getClassLoader().getResource("").getPath()
                        .replace("%20", " ")
                        .substring(0, AddProduct.class.getClassLoader().getResource("").getPath()
                                .replace("%20", " ").length() - 27)
                        + "/web/Resources/users_pics/" + item.getName()));
                item.write(new File(AddProduct.class.getClassLoader().getResource("").getPath()
                        .replace("%20", " ")
                        .substring(0, AddProduct.class.getClassLoader().getResource("").getPath()
                                .replace("%20", " ").length() - 27)
                        + "/web/Resources/users_pics/" + item.getName()));
                img = item.getName();
            }
        }

        User u = new User(email, userName, password, creditLimit, job, address, img, role);
        controlServlet.editUserDate(u);
        HttpSession session = request.getSession(true);
        session.setAttribute("done", "1");
        ControlServlet c = new ControlServlet();
        User myUser = c.getUser(userName);
        session.setAttribute("user", myUser);
        response.sendRedirect("UserHome.jsp");

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

From source file:com.liferay.arquillian.DeployerServlet.java

private InputStream getUploadedBundleInputStream(HttpServletRequest request)
        throws FileUploadException, IOException {

    DiskFileItemFactory factory = new DiskFileItemFactory();

    ServletConfig servletConfig = this.getServletConfig();

    ServletContext servletContext = servletConfig.getServletContext();

    File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");

    factory.setRepository(repository);//from ww  w.  ja  v  a  2 s . co  m

    ServletFileUpload upload = new ServletFileUpload(factory);

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

    FileItem fileItem = items.get(0);

    return fileItem.getInputStream();
}

From source file:corpixmgr.handler.CorpixPostHandler.java

/**
 * Parse the import params from the request
 * @param request the http request//  w w  w. j  ava2  s.c  o m
 */
protected void parseImportParams(HttpServletRequest request) throws CorpixException {
    try {
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        //System.out.println("Parsing import params");
        if (isMultipart) {
            FileItemFactory factory = new DiskFileItemFactory();
            // Create a new file upload handler
            ServletFileUpload upload = new ServletFileUpload(factory);
            // Parse the request
            List items = upload.parseRequest(request);
            for (int i = 0; i < items.size(); i++) {
                FileItem item = (FileItem) items.get(i);
                if (item.isFormField()) {
                    String fieldName = item.getFieldName();
                    if (fieldName != null) {
                        String contents = item.getString("UTF-8");
                        processField(fieldName, contents);
                    }
                } else if (item.getName().length() > 0) {
                    fileName = item.getName();
                    InputStream is = item.getInputStream();
                    ByteArrayOutputStream bh = new ByteArrayOutputStream();
                    while (is.available() > 0) {
                        byte[] b = new byte[is.available()];
                        is.read(b);
                        bh.write(b);
                    }
                    fileData = bh.toByteArray();
                }
            }
        } else {
            Map tbl = request.getParameterMap();
            Set<String> keys = tbl.keySet();
            Iterator<String> iter = keys.iterator();
            while (iter.hasNext()) {
                String key = iter.next();
                String[] values = (String[]) tbl.get(key);
                for (int i = 0; i < values.length; i++)
                    processField(key, values[i]);
            }
        }
    } catch (Exception e) {
        throw new CorpixException(e);
    }
}

From source file:adminServlets.AddProductServlet.java

private void uploadImage(HttpServletRequest request, HttpServletResponse response) {
    PrintWriter out = null;//from   ww  w  .j  av  a 2 s . c  om
    try {

        out = response.getWriter();
        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 = (FileItem) iter.next();

            if (item.isFormField()) {
                String name = item.getFieldName();
                String value = item.getString();
                paramaters.put(name, value);

            } else // processUploadedFile(item);
            {
                if (item.getSize() != 0) {
                    String itemName = item.getName();
                    Random generator = new Random();
                    int r = Math.abs(generator.nextInt());

                    String reg = "[.*]";
                    String replacingtext = "";

                    Pattern pattern = Pattern.compile(reg);
                    Matcher matcher = pattern.matcher(itemName);
                    StringBuffer buffer = new StringBuffer();

                    while (matcher.find()) {
                        matcher.appendReplacement(buffer, replacingtext);
                    }
                    int IndexOf = itemName.indexOf(".");
                    String domainName = itemName.substring(IndexOf);

                    String finalimage = buffer.toString() + "_" + r + domainName;

                    String path = "assets\\img\\bouques\\" + finalimage;
                    imgPaths.add(path);
                    File savedFile = new File(getServletContext().getRealPath("/") + path);

                    try {
                        item.write(savedFile);
                    } catch (Exception ex) {
                        Logger.getLogger(AddProductServlet.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
        }
    } catch (IOException | FileUploadException ex) {
        Logger.getLogger(AddProductServlet.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
    }

}

From source file:com.bid.online.presentation.bidmanagement.UploadFile.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*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 {
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    String url = "";
    FileItem item = null;
    if (isMultipart) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        try {
            List items = upload.parseRequest(request);
            Iterator it = items.iterator();

            while (it.hasNext()) {
                item = (FileItem) it.next();
                if (!item.isFormField()) {
                    String fileName = item.getName();
                    String root = getServletContext().getRealPath("/");
                    File path = new File(root + "/uploads");
                    if (!path.exists()) {
                        boolean status = path.mkdir();
                    }
                    File uploadedFile = new File(path + "/" + fileName);
                    //System.out.println(uploadedFile.getAbsolutePath());
                    url = "uploads" + "/" + fileName;
                    item.write(uploadedFile);
                }
            }

        } catch (FileUploadException e) {

        } catch (Exception e) {

        }
        Gson gson = new Gson();
        JsonObject jResponse = new JsonObject();
        if (item != null) {
            Image img = new Image();
            img.setName(item.getName());
            img.setUrl(url);
            img = bidService.createImage(img);

            ImageView imgView = new ImageView();
            imgView.setId(String.valueOf(img.getId()));
            imgView.setName(item.getName());
            imgView.setUrl(url);
            JsonElement imgJason = gson.toJsonTree(imgView);
            jResponse.addProperty("success", Boolean.TRUE);
            jResponse.add("img", imgJason);
        } else {
            jResponse.addProperty("success", Boolean.FALSE);
        }
        PrintWriter out = response.getWriter();
        response.setContentType("text/html");
        response.setHeader("Cache-control", "no-cache, no-store");
        response.setHeader("Pragma", "no-cache");
        response.setHeader("Expires", "-1");

        response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "POST");
        response.setHeader("Access-Control-Allow-Headers", "Content-Type");
        response.setHeader("Access-Control-Max-Age", "86400");
        System.out.println(jResponse.toString());
        out.println(jResponse.toString());
        out.close();
    }
}

From source file:dk.netarkivet.harvester.webinterface.TrapCreateOrUpdateAction.java

@Override
protected void doAction(PageContext context, I18n i18n) {
    String name = null;//  w w  w  .j  a v a 2  s. c o  m
    boolean isActive = true;
    String description = null;
    InputStream is = null;
    String id = null;
    String fileName = null;
    HttpServletRequest request = (HttpServletRequest) context.getRequest();
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    List<FileItem> items = null;
    try {
        items = upload.parseRequest(request);
    } catch (FileUploadException e) {
        HTMLUtils.forwardWithErrorMessage(context, i18n, e, "errormsg;crawlertrap.upload.error");
        throw new ForwardedToErrorPage("Error on multipart post", e);
    }
    for (FileItem item : items) {
        if (item.isFormField()) {
            if (item.getFieldName().equals(Constants.TRAP_NAME)) {
                name = item.getString();
            } else if (item.getFieldName().equals(Constants.TRAP_IS_ACTIVE)) {
                isActive = Boolean.parseBoolean(item.getString());
            } else if (item.getFieldName().equals(Constants.TRAP_DESCRIPTION)) {
                description = item.getString();
            } else if (item.getFieldName().equals(Constants.TRAP_ID)) {
                id = item.getString();
            }
        } else {
            try {
                fileName = item.getName();
                is = item.getInputStream();
            } catch (IOException e) {
                HTMLUtils.forwardWithErrorMessage(context, i18n, e, "errormsg;crawlertrap.upload.error");
                throw new ForwardedToErrorPage("Error on multipart post", e);
            }
        }
    }
    GlobalCrawlerTrapListDAO dao = GlobalCrawlerTrapListDBDAO.getInstance();
    if (id != null) { // update existing trap list
        int trapId = Integer.parseInt(id);
        GlobalCrawlerTrapList trap = dao.read(trapId);
        trap.setActive(isActive);
        trap.setDescription(description);
        trap.setName(name);
        if (fileName != null && !fileName.isEmpty()) {
            log.debug("Reading global crawler trap list from '" + fileName + "'");
            try {
                trap.setTrapsFromInputStream(is, name);
            } catch (ArgumentNotValid argumentNotValid) {
                HTMLUtils.forwardWithErrorMessage(context, i18n, "errormsg;crawlertrap.regexp.error");
                throw new ForwardedToErrorPage(argumentNotValid.getMessage());
            }
        }
        dao.update(trap);
    } else { // create new trap list
        log.debug("Reading global crawler trap list from '" + fileName + "'");
        GlobalCrawlerTrapList trap = new GlobalCrawlerTrapList(is, name, description, isActive);
        if (!dao.exists(name)) {
            dao.create(trap);
        } else {
            // crawlertrap named like this already exists.
            HTMLUtils.forwardWithErrorMessage(context, i18n, "errormsg;crawlertrap.0.exists.error", name);
            throw new ForwardedToErrorPage("Crawlertrap with name '" + name + "' exists already");
        }
    }
}

From source file:com.itpro.restws.helper.MultipartFromWrapper.java

/** Constructor. */
public MultipartFromWrapper(HttpServletRequest aRequest) throws IOException {
    super(aRequest);
    ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());
    try {/*from  w  w  w  . j  ava 2s.  c o m*/
        List<FileItem> fileItems = upload.parseRequest(aRequest);
        convertToMaps(fileItems);
    } catch (FileUploadException ex) {
        throw new IOException("Cannot parse underlying request: " + ex.toString());
    }
}

From source file:com.seer.datacruncher.services.HttpFileUpload.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    try {//from   ww  w.j  a  v  a2s  . c  o m
        FileItemFactory factory = new DiskFileItemFactory();

        ServletFileUpload upload = new ServletFileUpload(factory);

        List items = null;
        try {
            items = upload.parseRequest(request);
        } catch (Exception e) {
            e.printStackTrace();
        }

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

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

                String str = getServletContext().getRealPath("/");
                fileName = fileName.substring(0, fileName.indexOf(".")) + ".txt";
                File uploadedFile = new File(str + fileName);
                item.write(uploadedFile);

                out.println("<Status>Success: File has been uploaded at " + uploadedFile.getAbsolutePath()
                        + "</Status>");
                out.flush();
                out.close();

                return;
            }
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    out.println("<Status>Failure</Status>");
    out.flush();
    out.close();
}

From source file:com.sa.osgi.jetty.UploadServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*ww w . j av a 2 s  .  co  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 {
    // Check that we have a file upload request
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

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

        // Configure a repository (to ensure a secure temp location is used)
        ServletContext servletContext = this.getServletConfig().getServletContext();
        String ss = servletContext.getInitParameter("javax.servlet.context.tempdir");
        File repository = new File("/tmp");//(File) servletContext.getAttribute("javax.servlet.context.tempdir");
        factory.setRepository(repository);
        System.out.println("context var: " + ss);

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

        try {
            // Parse the request
            List<FileItem> items = upload.parseRequest(request);
            Iterator<FileItem> iter = items.iterator();
            while (iter.hasNext()) {
                FileItem item = iter.next();

                if (item.isFormField()) {
                    //                    processFormField(item);
                } else {
                    processUploadedFile(item);
                }
            }
        } catch (FileUploadException ex) {
            Logger.getLogger(UploadServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    response.sendRedirect("/welcome");

    //        RequestDispatcher dis = request.getRequestDispatcher("/welcome");
    //        dis.forward(request, response);

}