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

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

Introduction

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

Prototype

public void setSizeMax(long sizeMax) 

Source Link

Document

Sets the maximum allowed upload size.

Usage

From source file:sif.servlet.Request.java

Request(Servlet srv, HttpServletRequest req, HttpServletResponse resp) {
    servlet = srv;/*from  w ww. ja  v  a 2 s .c  o m*/
    request = req;
    response = resp;
    session = getSessionState(null).sessionPrincipal();
    bnd = Servlet.getOutputChannelBound(this);

    this.isMultipart = FileUploadBase.isMultipartContent(req);
    if (!isMultipart) {
        parameterMap = req.getParameterMap();
    } else {
        parameterMap = new HashMap<String, String>();
        fileMap = new HashMap<String, FileItem>();

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

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);
        // set the maximum upload size to 100 kB
        upload.setSizeMax(100 * 1024);

        // Parse the request
        try {
            List<FileItem> items = upload.parseRequest(request);
            for (FileItem element : items) {
                FileItem item = element;
                if (item.isFormField()) {
                    parameterMap.put(item.getFieldName(), item.getString());
                } else {
                    // put the item into the fileMap
                    fileMap.put(item.getFieldName(), item);
                }
            }
        } catch (FileUploadException e) {
            e.printStackTrace();
        }
    }
}

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.// w  w  w .  j av  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  ww w .j  a va2  s.com*/
 * @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//from   w  ww . jav  a 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 {

    //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:SubirArchivoJSP.subirarchivojsp.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from w w  w .j  av  a 2 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 {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        /* TODO output your page here. You may use following sample code. */
        dir = getServletContext().getRealPath("/SubirArchivoJSP/img");
        HttpServletRequest respuesta = request;

        if (ServletFileUpload.isMultipartContent(request)) {

            FileItemFactory factory = new DiskFileItemFactory();

            ServletFileUpload upload = new ServletFileUpload(factory);

            upload.setSizeMax(5000 * 1024); // bytes

            List listUploadFiles = null;
            FileItem item = null;

            try {
                listUploadFiles = upload.parseRequest(request);

                Iterator it = listUploadFiles.iterator();
                while (it.hasNext()) {
                    item = (FileItem) it.next();
                    if (!item.isFormField()) {
                        if (item.getSize() > 0) {
                            nombre = item.getName();

                            File archivo = new File(dir, nombre);

                            item.write(archivo);
                            if (archivo.exists()) {
                                out.println("GUARDADO " + archivo.getAbsolutePath() + "</p>");
                            } else {
                                // nunca se llega a ejecutar
                                out.println(
                                        "FALLO AL GUARDAR. NO EXISTE " + archivo.getAbsolutePath() + "</p>");
                            }

                        }
                    } else {
                        // es un campo de formulario, podemos obtener clave y valor
                        String key = item.getFieldName();
                        String valor = item.getString();
                        respuesta.setAttribute(key, valor);
                    }
                }

            } catch (FileUploadException e) {
                out.println("Demasiado grande! <br>");
                e.printStackTrace();
            } catch (Exception e) {
                out.println("Ha ocurrido un error! <br>");
                e.printStackTrace();
            }
        }
        respuesta.setAttribute("foto", "/Servlet1/SubirArchivoJSP/img/" + nombre);
        out.print("hola");
        RequestDispatcher vista = request.getServletContext()
                .getRequestDispatcher("/SubirArchivoJSP/vista.jsp");
        vista.forward(respuesta, response);
    }
}

From source file:SubirArchivoServlet.subirarchivo.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./* w  ww .j a v a 2  s  .c om*/
 *
 * @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 {
    response.setContentType("text/html;charset=UTF-8");
    try (PrintWriter out = response.getWriter()) {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet subirarchivo</title>");
        out.println("</head>");
        out.println("<body>");

        dir = getServletContext().getRealPath("/SubirArchivoServlet/img");
        out.println(dir + "<br>");

        if (ServletFileUpload.isMultipartContent(request)) {

            FileItemFactory factory = new DiskFileItemFactory();

            ServletFileUpload upload = new ServletFileUpload(factory);

            upload.setSizeMax(5000 * 1024); // bytes

            List listUploadFiles = null;
            FileItem item = null;

            try {
                listUploadFiles = upload.parseRequest(request);

                Iterator it = listUploadFiles.iterator();
                while (it.hasNext()) {
                    item = (FileItem) it.next();
                    if (!item.isFormField()) {
                        if (item.getSize() > 0) {
                            nombre = item.getName();

                            File archivo = new File(dir, nombre);

                            item.write(archivo);
                            if (archivo.exists()) {
                                out.println("GUARDADO " + archivo.getAbsolutePath() + "</p>");
                            } else {
                                // nunca se llega a ejecutar
                                out.println(
                                        "FALLO AL GUARDAR. NO EXISTE " + archivo.getAbsolutePath() + "</p>");
                            }

                        }
                    } else {
                        // es un campo de formulario, podemos obtener clave y valor
                        String key = item.getFieldName();
                        String valor = item.getString();
                        out.println(key + ": " + valor + "<br>");
                    }
                }

            } catch (FileUploadException e) {
                out.println("Demasiado grande! <br>");
                e.printStackTrace();
            } catch (Exception e) {
                out.println("Ha ocurrido un error! <br>");
                e.printStackTrace();
            }
        }
        out.println("<img src='/Servlet1/SubirArchivoServlet/img/" + nombre + "'>");
        out.println("<p><a href='index.html'>Ir al Inicio</a></p>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    }
}

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

private String onUpload(HttpServletRequest request, ImageUploadInfo imageUploadInfo) {
    try {//w w w .  java2  s.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:tv.dyndns.kishibe.qmaclone.server.IconUploadServletStub.java

private void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws IOException, ServletException {
    logger.log(Level.INFO, request.toString());

    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(64L * 1024L);
    List<FileItem> items = null;

    try {/*from  ww w .  j  a  va2 s. c o m*/
        List<FileItem> temp = upload.parseRequest(request);
        items = temp;
    } catch (FileUploadException e) {
        writeResponse(response, Constant.ICON_UPLOAD_RESPONSE_FAILED_TO_PARSE_REQUEST);
        return;
    }

    String userCode = null;
    BufferedImage inputImage = null;
    long originalFileSize = 0;

    for (FileItem item : items) {
        if (item.isFormField()) {
            String key = item.getFieldName();
            String value = item.getString();

            if (key.equals(Constant.FORM_NAME_USER_CODE)) {
                userCode = value;
            }

            continue;
        }

        // ??
        originalFileSize = item.getSize();
        try (InputStream inputStream = item.getInputStream()) {
            inputImage = ImageIO.read(inputStream);
        } catch (IOException e) {
            writeResponse(response, Constant.ICON_UPLOAD_RESPONSE_FAILED_TO_DETECT_IMAGE_FILE_TYPE);
            return;
        }

        if (inputImage == null) {
            writeResponse(response, Constant.ICON_UPLOAD_RESPONSE_FAILED_TO_DETECT_IMAGE_FILE_TYPE);
            return;
        }
    }

    if (userCode == null || inputImage == null) {
        writeResponse(response, Constant.ICON_UPLOAD_RESPONSE_REQUEST_FORMAT_ERROR);
        return;
    }

    String extension = "jpg";
    String fileTitle = Utility.createFileName();
    String fileName = fileTitle + "." + extension;

    // 
    // TODO(nodchip): ?
    int size = Constant.ICON_SIZE * 2;
    ImageFilter imageFilter = new AreaAveragingScaleFilter(size, size);
    Image middleImage = new Canvas().createImage(new FilteredImageSource(inputImage.getSource(), imageFilter));
    BufferedImage outputImage = new BufferedImage(size, size, BufferedImage.TYPE_INT_RGB);
    outputImage.createGraphics().drawImage(middleImage, 0, 0, size, size, null);

    // ???
    new File(Constant.ICON_FOLDER_PATH).mkdirs();
    File outputFile = new File(Constant.ICON_FOLDER_PATH, fileName);
    ImageIO.write(outputImage, "jpg", outputFile);

    logger.log(Level.INFO, String.format("%d bytes -> %d bytes (%s)", originalFileSize, outputFile.length(),
            outputFile.getPath()));

    // ???
    int userId = Integer.parseInt(userCode);
    PacketUserData userData;
    try {
        userData = database.getUserData(userId);
    } catch (DatabaseException e) {
        logger.log(Level.WARNING, "????????", e);
        throw new ServletException(e);
    }
    File oldFile = new File(Constant.ICON_FOLDER_PATH, userData.imageFileName);
    if (oldFile.isFile() && !oldFile.getName().equals(Constant.ICON_NO_IMAGE)) {
        oldFile.delete();
    }
    userData.imageFileName = fileName;
    try {
        database.setUserData(userData);
    } catch (DatabaseException e) {
        logger.log(Level.WARNING, "???????", e);
        throw new ServletException(e);
    }

    // ????
    writeResponse(response, Constant.ICON_UPLOAD_RESPONSE_OK);
}

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);
    newFactory.setRepository(this.uploadTempDir);
    fileUpload.setHeaderEncoding(enc);//from   w  ww  .  j a v  a 2 s. c  o m

    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/* w  ww  .  j  a v a 2 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;
}