Example usage for org.apache.commons.fileupload.disk DiskFileItemFactory setSizeThreshold

List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory setSizeThreshold

Introduction

In this page you can find the example usage for org.apache.commons.fileupload.disk DiskFileItemFactory setSizeThreshold.

Prototype

public void setSizeThreshold(int sizeThreshold) 

Source Link

Document

Sets the size threshold beyond which files are written directly to disk.

Usage

From source file:servlets.updatePhoto.java

private String uploadImage(HttpServletRequest request) throws FileUploadException, Exception {
    String url = "";
    String imgDir = config.getServletContext().getRealPath("/images/") + "/";
    File dir = new File(imgDir);
    dir.mkdirs();/*from  w  ww.  jav  a2  s  . com*/

    DiskFileItemFactory fabrica = new DiskFileItemFactory();
    fabrica.setSizeThreshold(1024);
    fabrica.setRepository(dir);

    ServletFileUpload upload = new ServletFileUpload(fabrica);
    List<FileItem> partes = upload.parseRequest(request);

    for (FileItem item : partes) {
        System.out.println("Subiendo");
        File archivo = new File(imgDir, item.getName());
        item.write(archivo);
        url = item.getName();
    }
    return url;
}

From source file:servlets.UploadServlet2.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, java.io.IOException {
    // Check that we have a file upload request
    isMultipart = ServletFileUpload.isMultipartContent(request);
    response.setContentType("text/html");
    java.io.PrintWriter out = response.getWriter();
    if (!isMultipart) {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet upload</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<p>No file uploaded</p>");
        out.println("</body>");
        out.println("</html>");
        return;//from w  ww.j  a v a2  s . c  om
    }
    DiskFileItemFactory factory = new DiskFileItemFactory();
    // maximum size that will be stored in memory
    factory.setSizeThreshold(maxMemSize);
    // Location to save data that is larger than maxMemSize.
    factory.setRepository(new File(filePath));

    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    // maximum file size to be uploaded.
    upload.setSizeMax(maxFileSize);

    try {
        // Parse the request to get file items.
        List fileItems = upload.parseRequest(request);

        // Process the uploaded file items
        Iterator i = fileItems.iterator();

        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet upload</title>");
        out.println("</head>");
        out.println("<body>");
        while (i.hasNext()) {
            FileItem fi = (FileItem) i.next();
            if (!fi.isFormField()) {
                // Get the uploaded file parameters
                String fieldName = fi.getFieldName();
                String fileName = fi.getName();
                String contentType = fi.getContentType();
                boolean isInMemory = fi.isInMemory();
                long sizeInBytes = fi.getSize();
                // Write the file
                if (fileName.lastIndexOf("\\") >= 0) {
                    file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\")));
                } else {
                    file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1));
                }
                fi.write(file);
                out.println("Uploaded Filename: " + fileName + "<br>");
            }
        }
        out.println("</body>");
        out.println("</html>");
        response.sendRedirect("admin.jsp");
    } catch (Exception ex) {
        System.out.println(ex);
    }
}

From source file:servletServices.serviceFile.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from w ww  . j  a v  a2s .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 {
    HttpSession session = request.getSession();
    int pkStudent = 0;
    if (session.getAttribute("pkStudent") != null) {
        pkStudent = Integer.parseInt(session.getAttribute("pkStudent").toString());
    }
    if (request.getParameter("update") != null) {
        String field_name = request.getParameter("update");
        String field_value;
        try (PrintWriter out = response.getWriter()) {
            if (session.getAttribute("pkStudent") != null) {
                File file;
                int maxFileSize = 5000 * 1024 * 50;
                int maxMemSize = 5000 * 1024 * 50;

                // Verify the content type
                String contentType = request.getContentType();

                if ((contentType.contains("multipart/form-data"))) {
                    DiskFileItemFactory factory = new DiskFileItemFactory();
                    // maximum size that will be stored in memory
                    factory.setSizeThreshold(maxMemSize);
                    // Location to save data that is larger than maxMemSize.

                    // Path
                    String enrollment = session.getAttribute("enrollmentStudent").toString();
                    String path = "C:/temp/" + enrollment;
                    File filePath = new File(path);
                    if (filePath.exists()) {
                        factory.setRepository(filePath);
                    } else {
                        filePath.mkdirs();
                        factory.setRepository(filePath);
                    }
                    // Create a new file upload handler
                    ServletFileUpload upload = new ServletFileUpload(factory);
                    // maximum file size to be uploaded.
                    upload.setSizeMax(maxFileSize);

                    try {
                        // Parse the request to get file items.
                        List fileItems = upload.parseRequest(request);
                        // Process the uploaded file items
                        Iterator i = fileItems.iterator();
                        while (i.hasNext()) {
                            FileItem fi = (FileItem) i.next();
                            if (!fi.isFormField()) {
                                // Get the uploaded file parameters
                                String fieldName = fi.getFieldName();
                                String fileName = fi.getName();
                                boolean isInMemory = fi.isInMemory();
                                long sizeInBytes = fi.getSize();
                                // Write the file
                                if (sizeInBytes <= 1048576) {
                                    field_value = field_name.replace("fl_", "");
                                    if (fileName.lastIndexOf("\\") >= 0) {
                                        file = new File(filePath + "/" + field_value + ".pdf");
                                    } else {
                                        file = new File(filePath + "/" + field_value + ".pdf");
                                        //file = new File( filePath +"/"+ fileName.substring(fileName.lastIndexOf("\\")+1));
                                    }
                                    fi.write(file);
                                    //out.println("Archivo cargado en " +filePath +"");
                                    //Establecer los parametros a la BD
                                    if (new studentControl()
                                            .UpdateStudent(pkStudent, field_name,
                                                    (path + "/" + field_value + ".pdf"))
                                            .equals("Datos Modificados")) {
                                        out.print("Cargado");
                                    } else {
                                        out.print("Fail");
                                    }
                                } else {
                                    out.print("File much long");
                                }
                            }
                        }
                    } catch (Exception ex) {
                        out.println(ex);
                    }
                } else {
                    out.println("<p>No existe un archivo en este campo</p>");
                }
            } else {
                response.sendRedirect("siut/alumnos.jsp");
            }
        }
    }
    if (request.getParameter("viewFile") != null) {
        try (ServletOutputStream out = response.getOutputStream()) {
            String fileType = request.getParameter("viewFile");
            String enrollment = session.getAttribute("enrollmentStudent").toString();
            if (enrollment != null) {
                String pdfPath = "C://temp/" + enrollment + "/" + fileType + ".pdf";
                File existFile = new File(pdfPath);
                if (existFile.exists()) {
                    ServletOutputStream outs = response.getOutputStream();
                    response.setContentType("application/pdf");
                    File file = new File(pdfPath);

                    response.setHeader("Content-disposition",
                            "inline; filename=" + enrollment + "-" + fileType + ".pdf");

                    BufferedInputStream bis = null;
                    BufferedOutputStream bos = null;
                    try {
                        InputStream isr = new FileInputStream(file);
                        bis = new BufferedInputStream(isr);
                        bos = new BufferedOutputStream(outs);
                        byte[] buff = new byte[2048];
                        int bytesRead;
                        // Simple read/write loop.
                        while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
                            bos.write(buff, 0, bytesRead);
                        }
                    } catch (Exception e) {
                        response.setContentType("text/html;charset=UTF-8");
                        out.println("Exception ----- Message ---" + e);
                    } finally {
                        if (bis != null)
                            bis.close();
                        if (bos != null)
                            bos.close();
                    }
                } else {
                    response.setContentType("text/html;charset=UTF-8");
                    out.print("Lo sentimos no se encuentra el archivo :(");
                }
            } else {
                response.sendRedirect("siut/alumnos.jsp");
            }
        }
    }
    //Load files of databases binary
    /*if(request.getParameter("viewFile")!=null){
    try(ServletOutputStream out = response.getOutputStream()){
        String file=request.getParameter("viewFile");
        byte[] pdfFile;
        pdfFile =new studentControl().SelectFile(file, pkStudent);
        if((pdfFile.length>0)){
            response.setContentType("application/pdf");
            out.write(pdfFile);
        }else{
            out.print("<h1>No Hay Archivo en la Base de Datos</h1>");
        }   
        if(Arrays.toString(pdfFile).equals("null")){
            out.print("<h1>Parametros incorrectos!</h1>");
        }                
    }
    }*/
}

From source file:sipl.servlets.FileBackupServlet.java

/**
 * Upon receiving file upload submission, parses the request to read upload
 * data and saves the file on disk./*w  ww .j a va  2  s.  c  o  m*/
 *
 * @param request
 * @param response
 * @throws javax.servlet.ServletException
 * @throws java.io.IOException
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    if (!ServletFileUpload.isMultipartContent(request)) {
        PrintWriter writer = response.getWriter();
        writer.println("Error: Form must has enctype=multipart/form-data.");
        writer.flush();
        return;
    }
    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(MEMORY_THRESHOLD);
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));
    ServletFileUpload upload = new ServletFileUpload(factory);
    Conexion con = new Conexion();
    variableSisDAO varDAO = new variableSisDAO(con);
    VariableSis var = varDAO.getTipo_variable(1);
    String dir = var.getDatos();
    String uploadPath = dir + UPLOAD_DIRECTORY;
    File uploadDir = new File(uploadPath);
    if (!uploadDir.exists()) {
        uploadDir.mkdir();
    }
    try {
        @SuppressWarnings("unchecked")
        List<FileItem> formItems = upload.parseRequest(request);
        if (formItems != null && formItems.size() > 0) {
            for (FileItem item : formItems) {
                if (!item.isFormField()) {
                    String fileName = new File(item.getName()).getName();
                    nombre = fileName;
                    String filePath = uploadPath + File.separator + fileName;
                    File storeFile = new File(filePath);
                    item.write(storeFile);
                    request.setAttribute("message", "Upload has been done successfully!");
                    request.setAttribute("backup", nombre);
                }
            }
        }
    } catch (Exception ex) {
        request.setAttribute("message", "There was an error: " + ex.getMessage());
    }
    getServletContext().getRequestDispatcher("/restore.jsp").forward(request, response);
}

From source file:sipl.servlets.FileUploadServlet.java

/**
 * Upon receiving file upload submission, parses the request to read upload
 * data and saves the file on disk.//ww  w.ja v  a2s. c  o  m
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // checks if the request actually contains upload file
    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();
        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
    Conexion con = new Conexion();
    variableSisDAO varDAO = new variableSisDAO(con);
    VariableSis var = varDAO.getTipo_variable(1);
    String dir = var.getDatos();
    //        String uploadPath = getServletContext().getRealPath("")
    //                + File.separator + UPLOAD_DIRECTORY;
    String uploadPath = dir + 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()) {
                    String fileName = new File(item.getName()).getName();
                    nombre = fileName;
                    String filePath = uploadPath + File.separator + fileName;
                    File storeFile = new File(filePath);
                    item.write(storeFile);
                    request.setAttribute("message", "Upload has been done successfully!");
                    request.setAttribute("foto", nombre);
                }
            }
        }
    } catch (Exception ex) {
        request.setAttribute("message", "There was an error: " + ex.getMessage());
    }
    // redirects client to message page
    getServletContext().getRequestDispatcher("/uploadImagen.jsp?accion=1").forward(request, response);
}

From source file:src.servlets.ManagePropertys.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request//from   w w w  .  java2  s.  c  om
 * @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 {
    //        //set date format
    //        DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
    //      //get current date time with Date()
    //      //Date date2 = new Date();
    //      //System.out.println(dateFormat.format(date2));
    //           
    //           
    //           
    //           //get current date time with Calendar()
    //      Calendar cal = Calendar.getInstance();
    //      System.out.println(dateFormat.format(cal.getTime()));

    // setup values
    Agents LoggedIn = null;
    try {
        LoggedIn = AgentsDB.getByUsername(request.getUserPrincipal().getName());
        //request.setAttribute("agent", agent);

    } //end try
    catch (Exception ex) {
        //address = "/Error.jsp";
    }
    int agentIdfromDB = 0;
    agentIdfromDB = LoggedIn.getAgentId();

    Integer id = 0;
    String street = "";
    String city = "";

    Integer listingNum = 0;
    Integer styleId = 0;
    Integer typeId = 0;
    Integer bedrooms = 0;
    Float bathrooms = null;
    Integer squarefeet = 0;
    String description = "";
    String lotsize = "";
    Short garageSize = (short) 0;
    Integer garageId = 0;
    Integer agentId = agentIdfromDB;// Need to get ID from Session when created!
    Date dateAdded = null;
    String photo;//= request.getParameter("photo");
    Double price = 0.0;

    List<FileItem> formItems2 = null;
    //////////////////
    //        if (!ServletFileUpload.isMultipartContent(request) && id!=0) {
    //            // if not, we stop here
    //            PrintWriter writer = response.getWriter();
    //            writer.println("Error: Form must has enctype=multipart/form-data.");
    //            writer.flush();
    //            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();
    }
    // Check file Extention
    @SuppressWarnings("unchecked")
    List<FileItem> formItems = null;
    String fileNameExt = "";

    try {
        formItems = upload.parseRequest(request);
        formItems2 = formItems;

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

    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()) {

                fileNameExt = new File(item.getName()).getName();
            }
            if (item.getFieldName().equals("street")) {
                street = item.getString();
            }
            if (item.getFieldName().equals("city")) {
                city = item.getString();
            }
            if (item.getFieldName().equals("listingNum")) {
                listingNum = Integer.parseInt(item.getString());
            }
            if (item.getFieldName().equals("styleId")) {
                styleId = Integer.parseInt(item.getString());
            }
            if (item.getFieldName().equals("typeId")) {
                typeId = Integer.parseInt(item.getString());
            }
            if (item.getFieldName().equals("bedrooms")) {
                bedrooms = Integer.parseInt(item.getString());
            }
            if (item.getFieldName().equals("bathrooms")) {
                bathrooms = Float.parseFloat(item.getString());
            }
            if (item.getFieldName().equals("squarefeet")) {
                squarefeet = Integer.parseInt(item.getString());
            }
            if (item.getFieldName().equals("description")) {
                description = item.getString();
            }
            if (item.getFieldName().equals("lotsize")) {
                lotsize = item.getString();
            }
            if (item.getFieldName().equals("garageId")) {
                garageId = Integer.parseInt(item.getString());
            }
            if (item.getFieldName().equals("garageSize")) {
                garageSize = Short.parseShort(item.getString());
            }
            if (item.getFieldName().equals("price")) {
                price = Double.parseDouble(item.getString());
            }
            if (item.getFieldName().equals("id")) {
                id = Integer.parseInt(item.getString());
            }
            //                    if(item.getFieldName().equals("dateAdded"))
            //                            {
            //                            dateAdded = Date.valueOf(item.getString());
            //                            }
            if (item.getFieldName().equals("photo")) {
                photo = item.getString();
            }
            if (request.isUserInRole("admin")) {
                if (item.getFieldName().equals("agentId")) {
                    agentId = Integer.parseInt(item.getString());
                }
            }

        }
    }
    if (!ServletFileUpload.isMultipartContent(request) && id == 0) {
        // if not, we stop here
        PrintWriter writer = response.getWriter();
        writer.println("Error: Form must has enctype=multipart/form-data.");
        writer.flush();
        return;
    }
    ///////
    String fileNameToLowerCase = fileNameExt.toLowerCase();
    String fileExtension;
    if (fileNameToLowerCase.contains(".")) {
        fileExtension = fileNameToLowerCase.substring(fileNameToLowerCase.indexOf(".") + 1,
                fileNameToLowerCase.length());
    } else {
        fileExtension = "";
    }

    if (!fileExtension.equals("png") && !fileExtension.equals("jpg") && !fileExtension.equals("jpeg")
            && !fileExtension.equals("gif") && !fileExtension.equals("bmp") && id == 0) {
        PrintWriter writer = response.getWriter();
        writer.println("Error: File must be one of the following formats only. (png,jpg,gif,bmp,jpeg)");
        writer.flush();
        return;
    }
    ////////////////

    String address = "";
    //Setup new property
    Properties newProperty = new Properties();
    newProperty.setStreet(street);
    newProperty.setCity(city);
    newProperty.setListingNum(listingNum);
    newProperty.setStyleId(styleId);
    newProperty.setTypeId(typeId);
    newProperty.setBedrooms(bedrooms);
    newProperty.setBathrooms(bathrooms);
    newProperty.setSquarefeet(squarefeet);
    newProperty.setDescription(description);
    newProperty.setLotsize(lotsize);
    newProperty.setGaragesize(garageSize);
    newProperty.setGarageId(garageId);
    newProperty.setAgentId(agentId);
    newProperty.setPrice(price);
    newProperty.setDateAdded(new java.sql.Date(System.currentTimeMillis()));

    if (id != 0) {
        if (fileExtension != "") {
            newProperty.setPhoto(id + "." + fileExtension);
        }
        newProperty.setListingNum(id);
        newProperty.setId(id);
        PropertiesDB.updateProperty(newProperty);
    } else {
        id = PropertiesDB.insertProperty(newProperty);

        newProperty.setPhoto(id + "." + fileExtension);
        newProperty.setListingNum(id);
        PropertiesDB.updateProperty(newProperty);
    }

    try {
        // parses the request's content to extract file data

        //@SuppressWarnings("unchecked")
        //List<FileItem> formItems = upload.parseRequest(request);

        if (formItems2 != null && formItems2.size() > 0) {
            // iterates over form's fields
            for (FileItem item : formItems2) {
                // processes only fields that are not form fields
                if (!item.isFormField()) {

                    if (fileExtension != "") {
                        String fileName = id + "." + fileExtension;
                        String filePath = uploadPath + File.separator + "large" + File.separator + fileName;
                        String filePathThumbnail = uploadPath + File.separator + "thumbnails" + File.separator
                                + fileName;

                        File storeFileThumbnail = new File(filePathThumbnail);
                        File storeFile = new File(filePath);
                        item.write(storeFile);

                        //Thumnail library used for resizing of both images
                        Thumbnails.of(storeFile).size(409, 307).toFile(storeFile);//Resize Main Image with current ratio maintained. (Required before using force size on larger images)
                        Thumbnails.of(storeFile).forceSize(409, 307).toFile(storeFile);//Resize Main Image forcing size of 409x307
                        Thumbnails.of(storeFile).forceSize(75, 56).toFile(storeFileThumbnail);// create thumbnail of 75x56

                        request.setAttribute("Status", "This Property Has Been saved successfully!");
                        address = "ManagePropertys?GetProperties&Status=1";
                    }

                    ////THIS IS HOW TO DELETE/////
                    //                        storeFile.delete();
                    //                        storeFileThumbnail.delete();
                    ////THIS IS HOW TO DELETE/////
                } else {
                    request.setAttribute("Status", "This Property Has Been Updated successfully!");
                    address = "ManagePropertys?GetProperties&Status=1";
                }
            }
        }

    } catch (Exception ex) {
        address = "/Error.jsp";
    } //end catch
    response.sendRedirect("/RealtyWebsite/" + address);
    //            RequestDispatcher dispatcher = request.getRequestDispatcher(address);
    //            dispatcher.forward(request, response);

    processRequest(request, response);
}

From source file:stellr.util.stores.admin.FileUploadServlet.java

/**
 * handles file upload/*w  w  w.j a  va 2s  .  c om*/
 *
 * @param request
 * @param response
 * @throws javax.servlet.ServletException
 * @throws java.io.IOException
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    //Clear current rowdata
    this.rowData = null;
    this.colData = null;
    System.gc();

    // Check that we have a file upload request
    isMultipart = ServletFileUpload.isMultipartContent(request);

    if (!isMultipart) {
        System.out.println("Not file Exception Upload");
        return;
    }

    DiskFileItemFactory factory = new DiskFileItemFactory();
    FileItem fileIn;

    // maximum size that will be stored in memory
    factory.setSizeThreshold(maxMemSize);
    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    // maximum file size to be uploaded.
    upload.setSizeMax(maxFileSize);

    try {
        // Parse the request to get file items.
        List fileItems = upload.parseRequest(request);

        // Process the uploaded file items
        Iterator i = fileItems.iterator();

        while (i.hasNext()) {
            fileIn = (FileItem) i.next();

            if (!fileIn.isFormField()) {

                // Get the uploaded file parameters
                String fileName = fileIn.getName();

                try {
                    String str = fileIn.getString();
                    //Rows
                    String[] arr = str.split("\n\\s*(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
                    //Rows Initialize
                    String[][] csv = new String[arr.length][];

                    //Split csv data for rows and columns
                    for (int r = 0; r < arr.length; r++) {
                        String[] tmpRowData = arr[r].split(",\\s*(?=([^\"]*\"[^\"]*\")*[^\"]*$)");

                        //Add column infront
                        String[] addColData = new String[tmpRowData.length + 1];
                        addColData[0] = Boolean.FALSE.toString();

                        try {
                            //Copy Row Column Celldata to new Array Row for datatable
                            //Data should now have a new column in the front saying FALSE, used for is header tick box
                            int cdidx = 1;
                            for (String colCellData : tmpRowData) {
                                addColData[cdidx++] = colCellData;
                            }
                            csv[r] = addColData;
                        } catch (Exception e12) {
                            csv[r] = arr[r].split(",\\s*(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
                        }
                    }

                    //Setup new rowdata for datatable
                    setRowData(new ArrayList<>());

                    //Add Header Row
                    for (int x = 0; x < 1; x++) {
                        //Create String array with one extra cell for is header checkbox
                        //Initialise column header data
                        setColData(new ArrayList(Arrays.asList(new String[csv[x].length])));

                        //Add first empty row to Row Data
                        getRowData().add(getColData());

                    }

                    //Add DataRows from CSV
                    for (String[] csvRow : csv) {
                        //Add Each row from CSV as Row Data
                        getRowData().add((ArrayList<String>) (new ArrayList(Arrays.asList(csvRow))));
                    }

                } catch (Exception e) {
                    System.out.println(" File Write Exception e " + e.getMessage());

                    Throwable cause = e.getCause();
                    String msg = "";

                    if (cause != null) {
                        msg = cause.getLocalizedMessage();
                    }

                    Logger.getLogger(FileUploadServlet.class.getName()).log(Level.SEVERE, null, e);

                }
            }
        }

    } catch (Exception ex) {
        System.out.println("DoPost Ex " + ex);
    }
}

From source file:talend.ext.images.server.ImageUploadServlet.java

private String onUpload(HttpServletRequest request, ImageUploadInfo imageUploadInfo) {
    try {/* w w w.  j ava2  s . c  o m*/
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {

            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setSizeThreshold(4096);
            factory.setRepository(new File(ImageServerInfo.getInstance().getTempPath()));

            ServletFileUpload sevletFileUpload = new ServletFileUpload(factory);
            sevletFileUpload.setSizeMax(4 * 1024 * 1024);
            sevletFileUpload.setHeaderEncoding("utf8"); //$NON-NLS-1$
            ProgressListener progressListener = new ProgressListener() {

                @Override
                public void update(long pBytesRead, long pContentLength, int pItems) {
                    if (logger.isDebugEnabled()) {
                        logger.debug("We are currently reading item " + pItems); //$NON-NLS-1$
                        if (pContentLength == -1) {
                            logger.debug("So far, " + pBytesRead + " bytes have been read."); //$NON-NLS-1$//$NON-NLS-2$
                        } else {
                            logger.debug("So far, " + pBytesRead + " of " + pContentLength //$NON-NLS-1$//$NON-NLS-2$
                                    + " bytes have been read."); //$NON-NLS-1$
                        }
                    }
                }
            };
            sevletFileUpload.setProgressListener(progressListener);

            List<FileItem> fileItems = null;

            fileItems = sevletFileUpload.parseRequest(request);

            if (fileItems != null && fileItems.size() > 0) {
                Object uploadFileItemObj = getFileItem(fileItems, defaultFilefieldName);
                if (uploadFileItemObj != null) {
                    FileItem uploadFileItem = (FileItem) uploadFileItemObj;

                    Object catalogNameObj = getFileItem(fileItems, defaultCatalogfieldName);
                    if (catalogNameObj != null) {
                        imageUploadInfo.targetCatalogName = (String) catalogNameObj;
                    }

                    Object fileNameObj = getFileItem(fileItems, defaultFileNamefieldName);
                    if (fileNameObj != null) {
                        imageUploadInfo.targetFileShortName = (String) fileNameObj;
                    } else {
                        String name = uploadFileItem.getName();
                        int pos = name.lastIndexOf('.');
                        if (pos != -1) {
                            name = name.substring(0, pos);
                        }
                        imageUploadInfo.targetFileShortName = name;
                    }

                    int rtnStatus = processUploadedFile(uploadFileItem, true, imageUploadInfo);

                    if (rtnStatus == 1) {
                        logger.info(imageUploadInfo.sourceFileName + " has been uploaded successfully!"); //$NON-NLS-1$
                        return buildUploadResult(true, imageUploadInfo.targetUri);
                    } else if (rtnStatus == -1) {
                        String msg = "Unavailable file type! "; //$NON-NLS-1$
                        logger.error(msg);
                        return buildUploadResult(false, msg);
                    } else if (rtnStatus == -2) {
                        String msg = "Operation rolled back, since backuping to database failed."; //$NON-NLS-1$
                        logger.error(msg);
                        return buildUploadResult(false, msg);
                    }
                }

            }

        }

    } catch (SizeLimitExceededException e) {
        logger.error("File Size Limit Exceeded Exception!", e); //$NON-NLS-1$
        return buildUploadResult(false, "File Size Limit Exceeded Exception!"); //$NON-NLS-1$
    } catch (Exception e) {
        logger.error("Exception occured during uploading!", e); //$NON-NLS-1$
        return buildUploadResult(false, "Exception occured during uploading!"); //$NON-NLS-1$
    }

    return buildUploadResult(false,
            "It seems that Upload Task has not been executed, please check your post enctype and post field name!"); //$NON-NLS-1$
}

From source file:unioeste.geral.servlet.UploadServlet.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request//from www  .jav  a2  s.  c  om
 * @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 {
    // mkdir 'k-lima/Code/K-lima/build/web/data/'
    String diretorioAtual = System.getProperty("user.dir");
    diretorioAtual = diretorioAtual.split("k-lima")[0];
    new File(diretorioAtual + "k-lima/Code/K-lima/build/web/data").mkdir();

    // Check that we have a file upload request
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    if (!isMultipart) {
        return;
    }

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

    // Sets the size threshold beyond which files are written directly to
    // disk.
    factory.setSizeThreshold(MAX_MEMORY_SIZE);

    // Sets the directory used to temporarily store files that are larger
    // than the configured size threshold. We use temporary directory for
    // java
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

    // constructs the folder where uploaded file will be stored
    String uploadFolder = getServletContext().getRealPath("") + DATA_DIRECTORY;

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

    // Set overall request size constraint
    upload.setSizeMax(MAX_REQUEST_SIZE);

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

            if (!item.isFormField()) {
                String fileName = new File(item.getName()).getName();
                String filePath = uploadFolder + File.separator + fileName;
                File uploadedFile = new File(filePath);
                // saves the file to upload directory
                item.write(uploadedFile);

                //inseri no banco estes dados
                new AlunoManager().carregarCSV(uploadedFile);
            }
        }

        // displays done.jsp page after upload finished
        getServletContext().getRequestDispatcher("/tabela_evasao.jsp").forward(request, response);

    } catch (FileUploadException ex) {
        throw new ServletException(ex);
    } catch (Exception ex) {
        System.out.print("Deu erro!");
        throw new ServletException(ex);
    }
}

From source file:upload.UploadAction.java

public void handleUploads(HttpServletRequest servletRequest, String saveDir, int maxSize) throws IOException {
    DiskFileItemFactory fac = new DiskFileItemFactory();
    ReadProperties rp = new ReadProperties();
    fac.setSizeThreshold(0);
    if (saveDir != null) {
        fac.setRepository(new File(saveDir));
    }/*from   ww  w. j  a va2  s . c  om*/
    // Parse the request
    try {
        ServletFileUpload upload = new ServletFileUpload(fac);
        List items = upload.parseRequest(createRequestContext(servletRequest));
        FileItem item = (FileItem) items.get(0);
        System.out.println("Found item " + item.getFieldName());
        if (item.isFormField()) {
            System.out.println("Item is a normal form field");
        } else {
            System.out.println("Item is a file upload");
            DiskFileItem diskFileItem = (DiskFileItem) item;
            filename = rp.getValue("FILE_UPLOAD") + getCanonicalName(diskFileItem.getName());

            System.out.println("The file name is..." + filename);
            //            retrieve the file data
            InputStream stream = item.getInputStream();
            file = diskFileItem.getStoreLocation();

            OutputStream bos = new FileOutputStream(filename);
            int bytesRead = 0;
            byte[] buffer = new byte[8192];
            while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) {
                bos.write(buffer, 0, bytesRead);
            }
            bos.close();
            stream.close();

        }
    } catch (FileUploadException e) {
        System.err.println(e);
        e.printStackTrace();
    }
}