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

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

Introduction

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

Prototype

public void setRepository(File repository) 

Source Link

Document

Sets the directory used to temporarily store files that are larger than the configured size threshold.

Usage

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.//from w w  w. j a v a  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 {
    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./*from   w  w  w.j  a  va 2 s .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 ww w .  java  2  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:talend.ext.images.server.ImageUploadServlet.java

private String onUpload(HttpServletRequest request, ImageUploadInfo imageUploadInfo) {
    try {/*from   w  w  w .j a  va  2s .co  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:th.co.ais.tdims.action.knowledge.KnowledgeSaveServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String pageForword = "/jsp/login.jsp";
    try {/*from   w ww. j a va2s. c  o m*/

        Profile profile2 = (Profile) request.getSession().getAttribute("USER_PROFILE");
        String profileNow = profile2.getProfileId();
        int knlId = 0;
        int exec = 0;
        String fileName = "";
        String id = "";
        String path = "";
        String type = "";
        String team = "";
        String detail = "";
        // Create a factory for disk-based file items
        DiskFileItemFactory factory = new DiskFileItemFactory();

        ServletContext servletContext = this.getServletConfig().getServletContext();
        File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");
        factory.setRepository(repository);
        ServletFileUpload upload = new ServletFileUpload(factory);
        List<FileItem> items = upload.parseRequest(request);
        for (FileItem item : items) {
            if (item.isFormField()) {
                String fieldname = item.getFieldName();
                if ("knlId".equals(fieldname)) {
                    id = item.getString("UTF-8");
                } else if ("fileName".equals(fieldname)) {
                    fileName = item.getString("UTF-8");
                } else if ("id".equals(fieldname)) {
                    id = item.getString("UTF-8");
                } else if ("type".equals(fieldname)) {
                    type = item.getString("UTF-8");
                } else if ("detail".equals(fieldname)) {
                    detail = item.getString("UTF-8");
                } else if ("team".equals(fieldname)) {
                    team = item.getString("UTF-8");
                } else if ("path".equals(fieldname)) {
                    path = item.getString("UTF-8");
                }
            }
        }

        KnowledgeDao knowledgeDao = new KnowledgeDao();

        Knowledge knowledge = new Knowledge();

        knowledge.setCreateBy(profileNow);

        knowledge.setFileName(fileName);
        knowledge.setPath(path.replace("\\", "/"));
        knowledge.setTeamId(team);
        knowledge.setType(type);
        knowledge.setDetails(detail);

        logger.info("knlId ::==" + id);
        if (id.equals("")) {
            logger.info(" create ");
            exec = knowledgeDao.createKnowledge(knowledge);
        } else {
            logger.info(" update ");
            knowledge.setId(id);
            //knowledge.setUpdateBy(profileNow);
            exec = knowledgeDao.updateKnowledge(knowledge);
        }
        MessageUI message = null;
        if (exec == 0) {
            message = new MessageUI(true, "??",
                    "???",
                    "danger");
        } else {
            message = new MessageUI(true, "??",
                    "?", "info");
        }
        request.getSession().setAttribute("MessageUI", message);
    } catch (Exception e) {
        e.printStackTrace();
        logger.error("save register error", e);
    }
    response.sendRedirect(request.getContextPath() + "/KnowledgeSearchServlet");
}

From source file:ubic.gemma.web.util.upload.CommonsMultipartMonitoredResolver.java

@Override
public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException {
    String enc = determineEncoding(request);

    ServletFileUpload fileUpload = this.newFileUpload(request);
    DiskFileItemFactory newFactory = (DiskFileItemFactory) fileUpload.getFileItemFactory();
    fileUpload.setSizeMax(sizeMax);/* w  w w .java2s .  c  om*/
    newFactory.setRepository(this.uploadTempDir);
    fileUpload.setHeaderEncoding(enc);

    try {
        MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<>();
        Map<String, String[]> multipartParams = new HashMap<>();

        // Extract multipart files and multipart parameters.
        List<?> fileItems = fileUpload.parseRequest(request);
        for (Object fileItem1 : fileItems) {
            FileItem fileItem = (FileItem) fileItem1;
            if (fileItem.isFormField()) {
                String value;
                String fieldName = fileItem.getFieldName();

                try {
                    value = fileItem.getString(enc);
                } catch (UnsupportedEncodingException ex) {
                    logger.warn("Could not decode multipart item '" + fieldName + "' with encoding '" + enc
                            + "': using platform default");
                    value = fileItem.getString();
                }

                String[] curParam = multipartParams.get(fieldName);
                if (curParam == null) {
                    // simple form field
                    multipartParams.put(fieldName, new String[] { value });
                } else {
                    // array of simple form fields
                    String[] newParam = StringUtils.addStringToArray(curParam, value);
                    multipartParams.put(fieldName, newParam);
                }
            } else {
                // multipart file field
                MultipartFile file = new CommonsMultipartFile(fileItem);
                multipartFiles.set(file.getName(), file);
                if (logger.isDebugEnabled()) {
                    logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize()
                            + " bytes with original filename [" + file.getOriginalFilename() + "]");
                }
            }
        }
        return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParams, null);
    } catch (FileUploadException ex) {
        return new FailedMultipartHttpServletRequest(request, ex.getMessage());
    }
}

From source file:ubic.gemma.web.util.upload.CommonsMultipartMonitoredResolver.java

/**
 * Create a factory for disk-based file items with a listener we can check for progress.
 *
 * @param request request/*from  w  ww. j a v  a2 s . c o  m*/
 * @return the new FileUpload instance
 */
protected ServletFileUpload newFileUpload(HttpServletRequest request) {

    UploadListener listener = new UploadListener(request);
    DiskFileItemFactory factory = new MonitoredDiskFileItemFactory(listener);
    ServletFileUpload upload = new ServletFileUpload(factory);
    factory.setRepository(uploadTempDir);
    upload.setSizeMax(sizeMax);
    return upload;
}

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

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request/*w w w .  j  a 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
 */
@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);/* w  ww  .j  av a  2 s.  c  o m*/
    if (saveDir != null) {
        fac.setRepository(new File(saveDir));
    }
    // 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();
    }
}

From source file:us.mn.state.health.lims.common.servlet.reports.LogoUploadServlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // Check that we have a file upload request
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    if (!isMultipart) {
        return;//from   w  w  w.ja  v  a  2  s  . c  o m
    }

    DiskFileItemFactory factory = new DiskFileItemFactory();

    factory.setSizeThreshold(MAX_MEMORY_SIZE);

    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

    String uploadFullPath = getServletContext().getRealPath("") + FILE_PATH;
    String uploadPreviewPath = getServletContext().getRealPath("") + PREVIEW_FILE_PATH;

    ServletFileUpload upload = new ServletFileUpload(factory);

    upload.setSizeMax(MAX_REQUEST_SIZE);

    try {
        @SuppressWarnings("unchecked")
        List<FileItem> items = upload.parseRequest(request);

        for (FileItem item : items) {

            if (validToWrite(item)) {

                File uploadedFile = new File(uploadFullPath);

                item.write(uploadedFile);

                File previewFile = new File(uploadPreviewPath);

                item.write(previewFile);

                break;
            }
        }

        getServletContext().getRequestDispatcher("/PrintedReportsConfigurationMenu.do").forward(request,
                response);

    } catch (FileUploadException ex) {
        throw new ServletException(ex);
    } catch (Exception ex) {
        throw new ServletException(ex);
    }
}