Example usage for org.apache.commons.fileupload FileItem isFormField

List of usage examples for org.apache.commons.fileupload FileItem isFormField

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileItem isFormField.

Prototype

boolean isFormField();

Source Link

Document

Determines whether or not a FileItem instance represents a simple form field.

Usage

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

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

    try {
        response.setContentType("text/html;charset=UTF-8");
        response.setHeader("Access-Control-Allow-Origin", "*");
        out = response.getWriter();
        isMultipart = ServletFileUpload.isMultipartContent(request);
        StudentDBOperation getSerialNumberObj = new StudentDBOperation();
        ConcreteStudent aStudent = null;
        String serialNumber = null;
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List fileItems = upload.parseRequest(request);
        Iterator i = fileItems.iterator();
        File fileToStore = null;
        String studentSubfolderPath = filePath;
        while (i.hasNext()) {
            FileItem fi = (FileItem) i.next();
            if (!fi.isFormField()) {
                // Get the uploaded file parameters
                String fieldName = fi.getFieldName();
                String fileName = fi.getName();
                if (fieldName.equals("cvfile")) {
                    fileToStore = new File(studentSubfolderPath + fileSeparator + "CV.pdf");
                } else if (fieldName.equals("examsfile")) {
                    fileToStore = new File(studentSubfolderPath + fileSeparator + "ES.pdf");
                }
                fi.write(fileToStore);
                // out.println("Uploaded Filename: " + fieldName + "<br>");
            } else {
                //out.println("It's not formfield");
                //out.println(fi.getString());
                aStudent = getSerialNumberObj.getSerialNumberbyFK_Account(Integer.parseInt(fi.getString()));
                serialNumber = reverseSerialNumber(aStudent.getPrimaryKey());
                studentSubfolderPath += fileSeparator + serialNumber;
                new File(studentSubfolderPath).mkdir();
            }
        }
        message.put("status", 1);
        out.print(message.toString());
    } catch (IOException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (SQLException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (FileUploadException ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } catch (Exception ex) {
        message.put("status", 0);
        message.put("errorMessage", ex);
        out.print(message.toString());
        Logger.getLogger(UploadInformationFilesServlet.class.getName()).log(Level.SEVERE, null, ex);
    } finally {
        out.close();
    }
}

From source file:mx.org.cedn.avisosconagua.engine.processors.Init.java

@Override
public void processForm(HttpServletRequest request, String[] parts, String currentId)
        throws ServletException, IOException {
    HashMap<String, String> parametros = new HashMap<>();
    boolean fileflag = false;
    AvisosException aex = null;//from   ww w  .  j  a v  a 2s.  c  o m
    if (ServletFileUpload.isMultipartContent(request)) {
        try {
            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setSizeThreshold(MAX_SIZE);
            ServletFileUpload upload = new ServletFileUpload(factory);
            upload.setSizeMax(MAX_SIZE);
            List<FileItem> items = upload.parseRequest(request);
            String filename = null;
            for (FileItem item : items) {
                if (!item.isFormField() && item.getSize() > 0) {
                    filename = processUploadedFile(item, currentId);
                    //System.out.println("poniendo: "+ item.getFieldName() + "=" +filename);
                    parametros.put(item.getFieldName(), filename);
                } else {
                    //                    System.out.println("item:" + item.getFieldName() + "=" + new String(item.getString().getBytes("ISO8859-1")));
                    //                    parametros.put(item.getFieldName(), new String(item.getString().getBytes("ISO8859-1")));
                    //                    System.out.println("item:" + item.getFieldName() + "=" + item.getString());
                    //                    System.out.println("item:" + item.getFieldName() + "=" + new String(item.getString().getBytes("ISO8859-1"),"UTF-8"));
                    //                    System.out.println("item:" + item.getFieldName() + "=" + new String(item.getString().getBytes("ISO8859-1")));
                    //                    System.out.println("item:" + item.getFieldName() + "=" + new String(item.getString().getBytes("UTF-8"),"UTF-8"));
                    parametros.put(item.getFieldName(),
                            new String(item.getString().getBytes("ISO8859-1"), "UTF-8"));
                }
            }
        } catch (FileUploadException fue) {
            fue.printStackTrace();
            fileflag = true;
            aex = new AvisosException("El archivo sobrepasa el tamao de " + MAX_SIZE + " bytes", fue);
        }
    } else {
        for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet()) {
            //                try {
            //                    parametros.put(entry.getKey(), new String(request.getParameter(entry.getKey()).getBytes("ISO8859-1")));
            //                } catch (UnsupportedEncodingException ue) {
            //                    //No debe llegar a este punto
            //                    assert false;
            //                }
            parametros.put(entry.getKey(), request.getParameter(entry.getKey()));
        }
    }
    BasicDBObject anterior = (BasicDBObject) mi.getAdvice(currentId).get(parts[3]);
    procesaAreas(parametros, anterior);
    procesaImagen(parametros, anterior);
    MongoInterface.getInstance().savePlainData(currentId, parts[3], parametros);

    if (fileflag) {
        throw aex;
    }
}

From source file:ca.myewb.frame.PostParamWrapper.java

public PostParamWrapper(HttpServletRequest request) throws Exception {
    if (!FileUpload.isMultipartContent(request)) {
        return;/*from   w w w. j  a va2  s  .c  o m*/
    }

    DiskFileUpload upload = new DiskFileUpload();
    upload.setRepositoryPath(Helpers.getUserFilesDir() + "/temp");

    try {
        List items = upload.parseRequest(request);

        Iterator iter = items.iterator();

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

            if (item.isFormField()) {
                stringParams.put(item.getFieldName(), item.getString());
                allParams.put(item.getFieldName(), item);
            } else if (item.getSize() > 0) {
                fileParams.put(item.getFieldName(), item);
                allParams.put(item.getFieldName(), item);
            }
        }
    } catch (FileUploadException ex) {
        log.debug("The file upload exception returned the message: " + ex.getMessage());
        // Usually means user cancelled upload and connection timed out.
        // Do nothing.
    }
}

From source file:com.duroty.application.mail.actions.SaveDraftAction.java

protected ActionForward doExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
        HttpServletResponse response) throws Exception {
    ActionMessages errors = new ActionMessages();

    try {//from   w w  w.  ja  v a 2 s.  c  o m
        boolean isMultipart = FileUpload.isMultipartContent(request);

        if (isMultipart) {
            Map fields = new HashMap();
            Vector attachments = new Vector();

            //Parse the request
            List items = diskFileUpload.parseRequest(request);

            //Process the uploaded items
            Iterator iter = items.iterator();

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

                if (item.isFormField()) {
                    fields.put(item.getFieldName(), item.getString());
                } else {
                    if (!StringUtils.isBlank(item.getName())) {
                        ByteArrayOutputStream baos = null;

                        try {
                            baos = new ByteArrayOutputStream();

                            IOUtils.copy(item.getInputStream(), baos);

                            MailPartObj part = new MailPartObj();
                            part.setAttachent(baos.toByteArray());
                            part.setContentType(item.getContentType());
                            part.setName(item.getName());
                            part.setSize(item.getSize());

                            attachments.addElement(part);
                        } catch (Exception ex) {
                        } finally {
                            IOUtils.closeQuietly(baos);
                        }
                    }
                }
            }

            String body = "";

            if (fields.get("taBody") != null) {
                body = (String) fields.get("taBody");
            } else if (fields.get("taReplyBody") != null) {
                body = (String) fields.get("taReplyBody");
            }

            Preferences preferencesInstance = getPreferencesInstance(request);

            Send sendInstance = getSendInstance(request);

            String mid = (String) fields.get("mid");

            sendInstance.saveDraft(mid, Integer.parseInt((String) fields.get("identity")),
                    (String) fields.get("to"), (String) fields.get("cc"), (String) fields.get("bcc"),
                    (String) fields.get("subject"), body, attachments,
                    preferencesInstance.getPreferences().isHtmlMessage(),
                    Charset.defaultCharset().displayName(), (String) fields.get("priority"));
        } else {
            errors.add("general",
                    new ActionMessage(ExceptionCode.ERROR_MESSAGES_PREFIX + "mail.send", "The form is null"));
            request.setAttribute("exception", "The form is null");
            request.setAttribute("newLocation", null);
            doTrace(request, DLog.ERROR, getClass(), "The form is null");
        }
    } catch (Exception ex) {
        String errorMessage = ExceptionUtilities.parseMessage(ex);

        if (errorMessage == null) {
            errorMessage = "NullPointerException";
        }

        errors.add("general", new ActionMessage(ExceptionCode.ERROR_MESSAGES_PREFIX + "general", errorMessage));
        request.setAttribute("exception", errorMessage);
        doTrace(request, DLog.ERROR, getClass(), errorMessage);
    } finally {
    }

    if (errors.isEmpty()) {
        doTrace(request, DLog.INFO, getClass(), "OK");

        return mapping.findForward(Constants.ACTION_SUCCESS_FORWARD);
    } else {
        saveErrors(request, errors);

        return mapping.findForward(Constants.ACTION_FAIL_FORWARD);
    }
}

From source file:com.jkingii.web.files.upload.java

private ColumnasPermisos getPermisoRequest(HttpServletRequest request, List fileItems)
        throws UnknownColumnException {
    ColumnasPermisos permiso = null;/*from   w w  w  .ja  va2  s.c  om*/
    // TODO: obtener el permiso no por parmetro sino por "referer".
    //        try {
    //            permiso = seguridad.
    //                    getPermisoLink(request.getHeader("referer"));
    //        } catch (Exception e) {
    //            logger.info("No es posible obtener el referer.");
    //        }
    //        if (permiso == null) {
    Iterator i = fileItems.iterator();
    while (i.hasNext()) {
        FileItem fi = (FileItem) i.next();
        if (fi.isFormField() && fi.getFieldName().equals(PERMISO_FIELD)) {
            permiso = seguridad.getPermisoLink(new String(fi.get()));
        }
    }
    //        }
    return permiso;
}

From source file:com.sr.controller.MahasiswaController.java

@RequestMapping(value = "/isibiodata", method = { RequestMethod.GET, RequestMethod.POST })
public String isi(HttpServletRequest request) {
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload sfu = new ServletFileUpload(factory);
    try {//from  w  w  w .j a  v  a  2s .  co m
        List<FileItem> items = sfu.parseRequest(request);
        FileItem foto = items.get(0);
        FileItem nama_lengkap = items.get(1);
        FileItem tempat_lahir = items.get(2);
        FileItem tanggal_lahir = items.get(3);
        FileItem agama = items.get(4);
        FileItem kelamin = items.get(5);
        FileItem alamat_asal = items.get(6);
        FileItem kabupaten = items.get(7);
        FileItem provinsi = items.get(8);
        FileItem no_telp = items.get(9);
        FileItem nama_ayah = items.get(10);
        FileItem nama_ibu = items.get(11);
        FileItem pend_ayah = items.get(12);
        FileItem pend_ibu = items.get(13);
        FileItem pekerjaan_ayah = items.get(14);
        FileItem pekerjaan_ibu = items.get(15);
        FileItem pendapatan_ortu = items.get(16);
        FileItem no_telp_rumah = items.get(17);
        FileItem no_telp_hp = items.get(18);
        FileItem alamat_keluarga_terdekat = items.get(19);
        FileItem no_telp_rumah_terdekat = items.get(20);
        FileItem no_telp_hp_terdekat = items.get(21);
        FileItem nim = items.get(22);
        FileItem prodi = items.get(23);
        FileItem jurusan = items.get(24);
        FileItem fakultas = items.get(25);
        FileItem semester = items.get(26);
        FileItem ipk_sr = items.get(27);
        FileItem rapor_smu = items.get(28);

        for (FileItem item : items) {
            if (item.isFormField()) {
                System.out.println("FieldName: " + item.getFieldName() + " value: " + item.getString());
            }
        }

        List<Prestasi> prestasi = new ArrayList();
        for (int i = 29; i < items.size() - 1; i += 2) {
            FileItem n = items.get(i);
            FileItem k = items.get(i + 1);
            Prestasi pres = new Prestasi();
            pres.setNim(nim.getString());
            pres.setNo_sertifikat(n.getString());
            pres.setNama_prestasi(k.getString());
            if (k.get() != null) {
                if (n.getFieldName().equals("sertifikatkegiatan")) {
                    pres.setJenis_prestasi("Kampus");
                    prestasi.add(pres);
                } else {
                    pres.setJenis_prestasi("Luar Kampus");
                    prestasi.add(pres);
                }
            }
        }

        Mahasiswa maha = new Mahasiswa();
        maha.setNama_mhs(nama_lengkap.getString());
        maha.setTempat_lahir(tempat_lahir.getString());
        maha.setTanggal_lahir(tanggal_lahir.getString());
        maha.setAgama(agama.getString());
        maha.setKelamin(kelamin.getString());
        maha.setAlamat_asal(alamat_asal.getString());
        maha.setKab_kota_asal(kabupaten.getString());
        maha.setProv_asal(provinsi.getString());
        maha.setNo_hp_mhs(no_telp.getString());
        maha.setNama_ayah(nama_ayah.getString());
        maha.setNama_ibu(nama_ibu.getString());
        maha.setPendidikan_ayah(pend_ayah.getString());
        maha.setPendidikan_ibu(pend_ibu.getString());
        maha.setPekerjaan_ayah(pekerjaan_ayah.getString());
        maha.setPekerjaan_ibu(pekerjaan_ibu.getString());
        maha.setPendapatan_ortu(pendapatan_ortu.getString());
        maha.setNo_tel_ortu(no_telp_rumah.getString());
        maha.setNo_hp_ortu(no_telp_hp.getString());
        maha.setAlamat_keluarga(alamat_keluarga_terdekat.getString());
        maha.setNo_tel_keluarga(no_telp_rumah_terdekat.getString());
        maha.setNo_hp_keluarga(no_telp_hp_terdekat.getString());
        maha.setNim(nim.getString());

        AkademikSR asr = new AkademikSR();
        asr.setProdi(prodi.getString());
        asr.setIpk_masuk(ipk_sr.getString());
        asr.setSemester(semester.getString());
        asr.setJurusan(jurusan.getString());
        asr.setFakultas(fakultas.getString());
        asr.setRapor_smu(rapor_smu.getString());
        asr.setNim(nim.getString());
        mhs.insertBiodata(maha, asr, foto, prestasi);
    } catch (FileUploadException ex) {
        System.out.println(ex.getMessage());
    }
    return "redirect:/mahasiswa/daftar";
}

From source file:Logic.UploadLogic.java

public void pictureUpload(HttpServletRequest request, UserDataBeans loginAccount, String contextPath) {
    for (int i = 0; i < 6; i++) {
    }/*from   w w w  .  ja  v a  2s .  c o m*/
    PictureDataBeans picture = null;

    //?
    System.out.println("" + request.getRequestURI());
    String path = "/Users/gest/NetBeansProjects/WorkSpacesProto/web/common/image/";
    File newDirectry = new File(path + loginAccount.getUserName());

    //?????
    if (!newDirectry.exists() || newDirectry == null) {
        newDirectry.mkdir();
        System.out.println("?");
    }

    //??
    String dPath = newDirectry.getPath();

    //???
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload sfu = new ServletFileUpload(factory);

    try {
        //????????
        List<FileItem> list = sfu.parseRequest(request);
        Iterator iterator = list.iterator();

        String pictureName = "";
        String extension = "";
        String comment = "????";
        int categoryID = 1;

        FileItem pictureData = null;

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

            //??
            if (!item.isFormField()) {
                pictureData = item;
                String itemName = item.getName();
                extension = itemName.substring(itemName.lastIndexOf("."));

                //()??   
            } else {
                System.out.println(item.getString("UTF-8"));
                switch (item.getFieldName()) {

                case "pictureName":
                    //?????
                    pictureName = item.getString("UTF-8");
                    //?????, [+]??
                    if (pictureName.isEmpty()) {
                        Date date = new Date();
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
                        String strDate = sdf.format(date);
                        pictureName = "" + strDate;
                    }
                    break;

                case "category":
                    categoryID = Integer.parseInt(item.getString("UTF-8"));
                    break;

                case "comment":
                    comment = item.getString("UTF-8");
                    break;
                }
            }
        }

        pictureData.write(new File(dPath + "/" + pictureName + extension));
        //??, DB??
        String pPath = contextPath + "/common/image/" + loginAccount.getUserName() + "/" + pictureName
                + extension;
        picture = new PictureDataBeans((pictureName + extension), pPath, comment, categoryID,
                loginAccount.getUserName());
        picture.setPictureID(picture.hashCode());

        //DB??
        PictureDataDTO dto = new PictureDataDTO();
        picture.PDB2DTOMapping(dto, loginAccount.getUserID());
        PictureDataDAO.getInstance().setPictureData(dto);

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

}

From source file:it.marcoberri.mbmeteo.action.UploadFile.java

/**
 * Handles the HTTP/*  ww w .  ja  va  2 s.c  o  m*/
 * <code>POST</code> method.
 *
 * @param request servlet request
 * @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 {

    // checks if the request actually contains upload file
    if (!ServletFileUpload.isMultipartContent(request)) {
        return;
    }

    // configures some settings
    final DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(THRESHOLD_SIZE);
    factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

    final ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setFileSizeMax(MAX_FILE_SIZE);
    upload.setSizeMax(REQUEST_SIZE);

    // constructs the directory path to store upload file
    final String uploadPath = ConfigurationHelper.prop.getProperty("import.loggerEasyWeather.filepath");

    final File uploadDir = new File(uploadPath);

    if (!uploadDir.exists()) {
        FileUtils.forceMkdir(uploadDir);
    }

    try {
        // parses the request's content to extract file data
        final List formItems = upload.parseRequest(request);
        Iterator iter = formItems.iterator();

        // iterates over form's fields
        while (iter.hasNext()) {
            final FileItem item = (FileItem) iter.next();
            // processes only fields that are not form fields
            if (item.isFormField()) {
                continue;
            }

            final String fileName = new File(item.getName()).getName();
            final String filePath = uploadPath + File.separator + fileName;
            final File storeFile = new File(filePath);
            item.write(storeFile);
        }
        request.setAttribute("message", "Upload has been done successfully!");
    } catch (final Exception ex) {
        request.setAttribute("message", "There was an error: " + ex.getMessage());
    }

    final ExecuteImport i = new ExecuteImport();
    Thread t = new Thread(i);
    t.start();

}

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

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from w  w  w.j a  v a  2  s . co m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, JSONException {

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

From source file:admin.controller.ServletAddLooks.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*  w  w w. j  ava  2 s  . co m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
public void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    super.processRequest(request, response);
    String filePath;
    String fileName, fieldName;
    Looks look;
    RequestDispatcher request_dispatcher;
    String look_name = null;
    Integer organization_id = 0;
    boolean check;
    look = new Looks();
    check = false;

    response.setContentType("text/html;charset=UTF-8");
    File file;
    int maxFileSize = 5000 * 1024;
    int maxMemSize = 5000 * 1024;
    try {
        String uploadPath = AppConstants.LOOK_IMAGES_HOME;

        // Verify the content type
        String contentType = request.getContentType();
        if ((contentType.indexOf("multipart/form-data") >= 0)) {

            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("/tmp"));

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

            // 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
                    fieldName = fi.getFieldName();
                    try {
                        if (fieldName.equals("lookname")) {
                            look_name = fi.getString();
                        }
                        if (fieldName.equals("organization")) {
                            organization_id = Integer.parseInt(fi.getString());
                        }
                    } catch (Exception e) {
                        logger.log(Level.SEVERE, "Exception while getting the look_name and organization_id",
                                e);
                    }
                } else {
                    check = look.checkAvailability(look_name, organization_id);

                    if (check == false) {
                        fieldName = fi.getFieldName();
                        fileName = fi.getName();

                        File uploadDir = new File(uploadPath);
                        if (!uploadDir.exists()) {
                            uploadDir.mkdirs();
                        }

                        //                            int inStr = fileName.indexOf(".");
                        //                            String Str = fileName.substring(0, inStr);
                        //
                        //                            fileName = look_name + "_" + Str + ".png";
                        fileName = look_name + "_" + fileName;
                        boolean isInMemory = fi.isInMemory();
                        long sizeInBytes = fi.getSize();

                        filePath = uploadPath + File.separator + fileName;
                        File storeFile = new File(filePath);

                        fi.write(storeFile);

                        look.addLooks(look_name, fileName, organization_id);
                        response.sendRedirect(request.getContextPath() + "/admin/looks.jsp");
                    } else {
                        response.sendRedirect(request.getContextPath() + "/admin/looks.jsp?exist=exist");
                    }

                }
            }

        } else {
        }
    } catch (Exception ex) {
        logger.log(Level.SEVERE, "Exception while uploading the Looks image", ex);
    }
}