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

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

Introduction

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

Prototype

long getSize();

Source Link

Document

Returns the size of the file item.

Usage

From source file:com.sonicle.webtop.core.app.AbstractEnvironmentService.java

public void processUpload(HttpServletRequest request, HttpServletResponse response, PrintWriter out) {
    ServletFileUpload upload = null;/* ww  w .  j  a v  a2s. c o m*/
    WebTopSession.UploadedFile uploadedFile = null;
    HashMap<String, String> multipartParams = new HashMap<>();

    try {
        String service = ServletUtils.getStringParameter(request, "service", true);
        String cntx = ServletUtils.getStringParameter(request, "context", true);
        String tag = ServletUtils.getStringParameter(request, "tag", null);
        if (!ServletFileUpload.isMultipartContent(request))
            throw new Exception("No upload request");

        IServiceUploadStreamListener istream = getUploadStreamListener(cntx);
        if (istream != null) {
            try {
                MapItem data = new MapItem(); // Empty response data

                // Defines the upload object
                upload = new ServletFileUpload();
                FileItemIterator it = upload.getItemIterator(request);
                while (it.hasNext()) {
                    FileItemStream fis = it.next();
                    if (fis.isFormField()) {
                        InputStream is = null;
                        try {
                            is = fis.openStream();
                            String key = fis.getFieldName();
                            String value = IOUtils.toString(is, "UTF-8");
                            multipartParams.put(key, value);
                        } finally {
                            IOUtils.closeQuietly(is);
                        }
                    } else {
                        // Creates uploaded object
                        uploadedFile = new WebTopSession.UploadedFile(true, service, IdentifierUtils.getUUID(),
                                tag, fis.getName(), -1, findMediaType(fis));

                        // Fill response data
                        data.add("virtual", uploadedFile.isVirtual());
                        data.add("editable", isFileEditableInDocEditor(fis.getName()));

                        // Handle listener, its implementation can stop
                        // file upload throwing a UploadException.
                        InputStream is = null;
                        try {
                            getEnv().getSession().addUploadedFile(uploadedFile);
                            is = fis.openStream();
                            istream.onUpload(cntx, request, multipartParams, uploadedFile, is, data);
                        } finally {
                            IOUtils.closeQuietly(is);
                            getEnv().getSession().removeUploadedFile(uploadedFile, false);
                        }
                    }
                }
                new JsonResult(data).printTo(out);

            } catch (UploadException ex1) {
                new JsonResult(false, ex1.getMessage()).printTo(out);
            } catch (Exception ex1) {
                throw ex1;
            }

        } else {
            try {
                MapItem data = new MapItem(); // Empty response data
                IServiceUploadListener iupload = getUploadListener(cntx);

                // Defines the upload object
                DiskFileItemFactory factory = new DiskFileItemFactory();
                //TODO: valutare come imporre i limiti
                //factory.setSizeThreshold(yourMaxMemorySize);
                //factory.setRepository(yourTempDirectory);
                upload = new ServletFileUpload(factory);
                List<FileItem> files = upload.parseRequest(request);

                // Plupload component (client-side) will upload multiple file 
                // each in its own request. So we can skip loop on files.
                Iterator it = files.iterator();
                while (it.hasNext()) {
                    FileItem fi = (FileItem) it.next();
                    if (fi.isFormField()) {
                        InputStream is = null;
                        try {
                            is = fi.getInputStream();
                            String key = fi.getFieldName();
                            String value = IOUtils.toString(is, "UTF-8");
                            multipartParams.put(key, value);
                        } finally {
                            IOUtils.closeQuietly(is);
                        }
                    } else {
                        // Writes content into a temp file
                        File file = WT.createTempFile(UPLOAD_TEMPFILE_PREFIX);
                        fi.write(file);

                        // Creates uploaded object
                        uploadedFile = new WebTopSession.UploadedFile(false, service, file.getName(), tag,
                                fi.getName(), fi.getSize(), findMediaType(fi));
                        getEnv().getSession().addUploadedFile(uploadedFile);

                        // Fill response data
                        data.add("virtual", uploadedFile.isVirtual());
                        data.add("uploadId", uploadedFile.getUploadId());
                        data.add("editable", isFileEditableInDocEditor(fi.getName()));

                        // Handle listener (if present), its implementation can stop
                        // file upload throwing a UploadException.
                        if (iupload != null) {
                            try {
                                iupload.onUpload(cntx, request, multipartParams, uploadedFile, data);
                            } catch (UploadException ex2) {
                                getEnv().getSession().removeUploadedFile(uploadedFile, true);
                                throw ex2;
                            }
                        }
                    }
                }
                new JsonResult(data).printTo(out);

            } catch (UploadException ex1) {
                new JsonResult(ex1).printTo(out);
            }
        }

    } catch (Exception ex) {
        WebTopApp.logger.error("Error uploading", ex);
        new JsonResult(ex).printTo(out);
    }
}

From source file:controllers.controller.java

private void insertarObjetoArchivo(HttpSession session, HttpServletRequest request,
        HttpServletResponse response, QUID quid, PrintWriter out, HashMap parameters, LinkedList filesToUpload,
        String FormFrom) throws Exception {
    if (parameters.get("idTipoArchivo") == null || parameters.get("idTipoArchivo").equals("")) {
        this.getServletConfig().getServletContext()
                .getRequestDispatcher("" + PageParameters.getParameter("msgUtil")
                        + "/msgNRedirect.jsp?title=Error&type=error&msg=Seleccione el tipo de archivo.&url="
                        + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui")
                        + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "="
                        + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto="
                        + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto"))
                .forward(request, response);
    } else if (parameters.get("nombreArchivo") == null || parameters.get("nombreArchivo").equals("")) {
        this.getServletConfig().getServletContext()
                .getRequestDispatcher("" + PageParameters.getParameter("msgUtil")
                        + "/msgNRedirect.jsp?title=Error&type=error&msg=Escriba el nombre del archivo.&url="
                        + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui")
                        + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "="
                        + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto="
                        + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto"))
                .forward(request, response);
    } else if (parameters.get("descripcion") == null
            || parameters.get("descripcion").toString().trim().equals("")) {
        this.getServletConfig().getServletContext()
                .getRequestDispatcher("" + PageParameters.getParameter("msgUtil")
                        + "/msgNRedirect.jsp?title=Error&type=error&msg=Escriba una descripcin.&url="
                        + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui")
                        + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "="
                        + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto="
                        + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto"))
                .forward(request, response);
    } else if (parameters.get("tipoAcceso").equals("")) {
        this.getServletConfig().getServletContext().getRequestDispatcher(""
                + PageParameters.getParameter("msgUtil")
                + "/msgNRedirect.jsp?title=Error&type=error&msg=Seleccione el tipo de acceso para el archivo.&url="
                + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui")
                + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "="
                + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto="
                + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto"))
                .forward(request, response);
    } else if (filesToUpload.isEmpty()) {
        this.getServletConfig().getServletContext().getRequestDispatcher(""
                + PageParameters.getParameter("msgUtil")
                + "/msgNRedirect.jsp?title=Error&type=error&msg=No ha seleccionado ningn archivo.&url="
                + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui")
                + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "="
                + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto="
                + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto"))
                .forward(request, response);
    } else if (!filesToUpload.isEmpty()) {
        String idObjeto = WebUtil.decode(session, parameters.get("idObjeto").toString());
        String fechaActualizacion = UTime.calendar2SQLDateFormat(Calendar.getInstance());
        String descripcion = WebUtil.decode(session, parameters.get("descripcion").toString());
        String ubicacionFisica = PageParameters.getParameter("folderDocs");
        String idTipoArchivo = WebUtil.decode(session, parameters.get("idTipoArchivo").toString());
        String nombreObjeto = WebUtil.decode(session, parameters.get("nombreObjeto").toString());
        String keyWords = parameters.get("keywords").toString();
        String nombreArchivo = parameters.get("nombreArchivo").toString();
        String FK_ID_Plantel = session.getAttribute("FK_ID_Plantel").toString();

        //File verifyFolder = new File(PageParameters.getParameter("folderDocs"));
        File verifyFolder = new File(ubicacionFisica);
        if (!verifyFolder.exists()) {
            verifyFolder.mkdirs();/* ww w .j  a  v  a  2 s . c  o m*/
        }
        int sucess = 0;
        for (int i = 0; i < filesToUpload.size(); i++) {
            FileItem itemToUpload = null;
            itemToUpload = (FileItem) filesToUpload.get(i);

            String extension = FileUtil.getExtension(itemToUpload.getName());
            String hashName = JHash.getFileDigest(itemToUpload.get(), "MD5") + extension;

            long tamanio = itemToUpload.getSize();

            if (this.validarDocumentExtension(session, request, response, quid, out, extension)) {
                File fileToWrite = new File(ubicacionFisica, hashName);
                Transporter tport = quid.insertArchivo4Objeto(idObjeto, nombreObjeto, idTipoArchivo,
                        nombreArchivo, descripcion, ubicacionFisica, extension, fechaActualizacion, tamanio,
                        WebUtil.decode(session, parameters.get("tipoAcceso").toString()).toLowerCase(),
                        keyWords, hashName, FK_ID_Plantel);
                if (tport.getCode() == 0) {
                    if (!fileToWrite.exists()) {
                        itemToUpload.write(fileToWrite);
                    }
                    sucess += 1;
                }
            } else {
                sucess = -1;
            }
        }
        if (sucess != -1) {
            this.getServletConfig().getServletContext()
                    .getRequestDispatcher("" + PageParameters.getParameter("msgUtil")
                            + "/msgNRedirect.jsp?title=Operacin Exitosa&type=info&msg=Se han guardado "
                            + sucess + " de " + filesToUpload.size() + " archivos.&url="
                            + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui")
                            + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "="
                            + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto="
                            + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto"))
                    .forward(request, response);
        }

    }

}

From source file:com.food.adminservlet.FoodServlet.java

@Override

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    int foodid = 0;
    String foodName = "";
    String fooddesc = "";
    Double foodprice = 0.0;//from www .  ja v a  2  s.  co m
    String foodCategory = "";
    PrintWriter out = response.getWriter();
    isMultipart = ServletFileUpload.isMultipartContent(request);
    FoodBean bkfood = new FoodBean();
    FoodBL foodbl = new FoodBL();
    try {

        response.setContentType("text/html");
        //java.io.PrintWriter out = response.getWriter( );

        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("c:\\temp"));

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

        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet upload</title>");
        out.println("</head>");
        out.println("<body>");
        while (i.hasNext()) {

            FileItem fi = (FileItem) i.next();
            if (fi.isFormField()) {
                if (fi.getFieldName().equals("foodid")) {
                    foodid = Integer.parseInt(fi.getString());
                }
                if (fi.getFieldName().equals("foodname")) {
                    foodName = fi.getString();
                }
                if (fi.getFieldName().equals("fooddesc")) {
                    fooddesc = fi.getString();
                }
                if (fi.getFieldName().equals("foodprice")) {
                    foodprice = Double.parseDouble(fi.getString());
                }
                if (fi.getFieldName().equals("foodcate")) {
                    foodCategory = fi.getString();
                }

                out.println("<br>");
            }
            if (!fi.isFormField()) {
                // Get the uploaded file parameters
                String fieldName = fi.getFieldName();
                fileName = fi.getName();
                String contentType = fi.getContentType();
                boolean isInMemory = fi.isInMemory();
                long sizeInBytes = fi.getSize();
                // Write the file
                if (fileName.lastIndexOf("\\") >= 0) {
                    file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\")));
                } else {
                    file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1));
                }
                fi.write(file);
                out.println("Uploaded Filename: " + fileName + "<br>");
            }
        }

        out.println(fileName);

        bkfood.setFoodId(foodid);
        bkfood.setFoodName(foodName);
        bkfood.setFoodPrice(foodprice);
        bkfood.setFoodCateg(foodCategory);
        bkfood.setFoodDesc(fooddesc);
        bkfood.setFoodRetreiveImage(fileName);
        // bkfood.setFoodimage(request.getPart("foodimage"));
        bkfood.setFoodstatus("Y");

        int chk = foodbl.addFoodItems(bkfood);
        out.println(chk);

        if (chk == 1) {
            response.sendRedirect("food.jsp");
        }

    } catch (Exception ex) {
        out.println(ex);
    }
}

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

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

    try {//w  w  w  .j  a va 2  s .co  m
        boolean isMultipart = FileUpload.isMultipartContent(request);

        Mail mailInstance = getMailInstance(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()) {
                    if (item.getFieldName().equals("forwardAttachments")) {
                        String[] aux = item.getString().split(":");
                        MailPartObj part = mailInstance.getAttachment(aux[0], aux[1]);
                        attachments.addElement(part);
                    } else {
                        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");

            if (StringUtils.isBlank(mid)) {
                request.setAttribute("action", "compose");
            } else {
                request.setAttribute("action", "reply");
            }

            Boolean isHtml = null;

            if (StringUtils.isBlank((String) fields.get("isHtml"))) {
                isHtml = new Boolean(preferencesInstance.getPreferences().isHtmlMessage());
            } else {
                isHtml = Boolean.valueOf((String) fields.get("isHtml"));
            }

            sendInstance.send(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, isHtml.booleanValue(), 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:gwtuploadsample.server.SampleUploadServlet.java

/**
 * Override executeAction to save the received files in a custom place
 * and delete this items from session.//w  w w . ja v a  2 s. c o  m
 */
@Override
public String executeAction(HttpServletRequest request, List<FileItem> sessionFiles)
        throws UploadActionException {
    String response = "";
    int cont = 0;
    for (FileItem item : sessionFiles) {
        if (false == item.isFormField()) {
            cont++;
            try {
                /// Create a new file based on the remote file name in the client
                // String saveName = item.getName().replaceAll("[\\\\/><\\|\\s\"'{}()\\[\\]]+", "_");
                // File file =new File("/tmp/" + saveName);

                /// Create a temporary file placed in /tmp (only works in unix)
                // File file = File.createTempFile("upload-", ".bin", new File("/tmp"));

                /// Create a temporary file placed in the default system temp folder
                File file = File.createTempFile("upload-", ".bin");
                item.write(file);

                /// Save a list with the received files
                receivedFiles.put(item.getFieldName(), file);
                receivedContentTypes.put(item.getFieldName(), item.getContentType());

                /// Compose a xml message with the full file information
                response += "<file-" + cont + "-field>" + item.getFieldName() + "</file-" + cont + "-field>\n";
                response += "<file-" + cont + "-name>" + item.getName() + "</file-" + cont + "-name>\n";
                response += "<file-" + cont + "-size>" + item.getSize() + "</file-" + cont + "-size>\n";
                response += "<file-" + cont + "-type>" + item.getContentType() + "</file-" + cont + "type>\n";
            } catch (Exception e) {
                throw new UploadActionException(e);
            }
        }
    }

    /// Remove files from session because we have a copy of them
    removeSessionFileItems(request);

    /// Send information of the received files to the client.
    return "<response>\n" + response + "</response>\n";
}

From source file:com.bbm.common.cmm.web.EgovMultipartResolver.java

/**
 * multipart?  parsing? .//from ww w .  j  a  v a 2  s  .  c  om
 */
@SuppressWarnings("unchecked")
@Override
protected MultipartParsingResult parseFileItems(List fileItems, String encoding) {
    Map multipartFiles = new HashMap();
    Map multipartParameters = new HashMap();

    // Extract multipart files and multipart parameters.
    for (Iterator it = fileItems.iterator(); it.hasNext();) {
        FileItem fileItem = (FileItem) it.next();

        if (fileItem.isFormField()) {

            String value = null;
            if (encoding != null) {
                try {
                    value = fileItem.getString(encoding);
                } catch (UnsupportedEncodingException ex) {
                    if (logger.isWarnEnabled()) {
                        logger.warn("Could not decode multipart item '" + fileItem.getFieldName()
                                + "' with encoding '" + encoding + "': using platform default");
                    }
                    value = fileItem.getString();
                }
            } else {
                value = fileItem.getString();
            }
            String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName());
            if (curParam == null) {
                // simple form field
                multipartParameters.put(fileItem.getFieldName(), new String[] { value });
            } else {
                // array of simple form fields
                String[] newParam = StringUtils.addStringToArray(curParam, value);
                multipartParameters.put(fileItem.getFieldName(), newParam);
            }
        } else {

            if (fileItem.getSize() > 0) {
                // multipart file field
                CommonsMultipartFile file = new CommonsMultipartFile(fileItem);
                if (multipartFiles.put(fileItem.getName(), file) != null) { // CHANGED!!
                    throw new MultipartException("Multiple files for field name [" + file.getName()
                            + "] found - not supported by MultipartResolver");
                }
                if (logger.isDebugEnabled()) {
                    logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize()
                            + " bytes with original filename [" + file.getOriginalFilename() + "], stored "
                            + file.getStorageDescription());
                }
            }

        }
    }

    return new MultipartParsingResult(multipartFiles, multipartParameters);
}

From source file:com.krawler.svnwebclient.util.Uploader.java

public void doPost(HttpServletRequest request, HttpServletResponse responce, String destinationDirectory,
        String tempDirectory) throws SessionExpiredException {
    File tempDir = new File(tempDirectory);
    String sep = StorageHandler.GetFileSeparator();
    if (!tempDir.exists()) {
        tempDir.mkdirs();//from w w w.j a v  a2 s .  c  o m
    }
    DiskFileUpload fu = new DiskFileUpload();
    // maximum size before a FileUploadException will be thrown
    fu.setSizeMax(-1);
    // maximum size that will be stored in memory
    fu.setSizeThreshold(4096);
    // the location for saving data that is larger than getSizeThreshold()
    fu.setRepositoryPath(tempDirectory);
    List fileItems = null;
    try {
        fileItems = fu.parseRequest(request);
    } catch (FileUploadException e) {
        Logger.getInstance(Uploader.class).error(e, e);
    }
    String docid1 = null;
    String docownerid = null;
    for (Iterator k = fileItems.iterator(); k.hasNext();) {
        FileItem fi1 = (FileItem) k.next();
        try {
            if (fi1.getFieldName().toString().equals("docid")) {
                docid1 = new String(fi1.getString().getBytes(), "UTF8");
            }
            if (fi1.getFieldName().toString().equals("docownerid")) {
                docownerid = new String(fi1.getString().getBytes(), "UTF8");
            }
        } catch (UnsupportedEncodingException e) {
            // Logger.getInstance(Uploader.class).error(e, e);
        }
    }
    if (docid1.equals("")) {
        docid1 = UUID.randomUUID().toString();
        this.setFlagType(true);
        docownerid = AuthHandler.getUserid(request);
    } else {
        this.setFlagType(false);
    }
    try {
        if (docownerid.equalsIgnoreCase("my")) {
            docownerid = AuthHandler.getUserid(request);
        }
        destinationDirectory = com.krawler.esp.handlers.StorageHandler.GetDocStorePath() + sep + docownerid;
    } catch (ConfigurationException ex) {
        this.isUploaded = false;
        this.errorMessage = "Problem occurred while uploading file";
        return;
    }
    File destDir = new File(destinationDirectory);
    if (!destDir.exists()) {
        destDir.mkdirs();
    }
    this.parameters.put("destinationDirectory", destinationDirectory);
    for (Iterator i = fileItems.iterator(); i.hasNext();) {
        FileItem fi = (FileItem) i.next();

        /*
         * try{ String docid1 = fi.getString("docid"); }catch(Exception e){}
         */
        if (fi.isFormField()) {
            try {
                if (fi.getFieldName().toString().equals("docid")
                        && new String(fi.getString().getBytes(), "UTF8").equals("")) {
                    this.parameters.put(fi.getFieldName(), docid1);
                } else {
                    this.parameters.put(fi.getFieldName(), new String(fi.getString().getBytes(), "UTF8"));
                }
            } catch (UnsupportedEncodingException e) {
                Logger.getInstance(Uploader.class).error(e, e);
            }
        } else {
            // filename on the client
            String fileName = null;

            try {
                fileName = new String(fi.getName().getBytes(), "UTF8");
                // org.tmatesoft.svn.core.internal.wc.SVNFileUtil.isExecutable(fi);
                String filext = "";
                if (fileName.contains("."))
                    filext = fileName.substring(fileName.lastIndexOf("."));

                if (fi.getSize() != 0) {
                    this.isUploaded = true;

                    // write the file
                    File uploadFile = new File(
                            destinationDirectory + sep + FileUtil.getLastPathElement(docid1 + filext));
                    fi.write(uploadFile);
                    this.parameters.put("svnName", uploadFile.getName());
                    if (filext.equals("")) {
                        this.parameters.put("fileExt", filext);
                    } else {
                        this.parameters.put("fileExt", filext.substring(1));
                    }
                } else {
                    this.isUploaded = false;
                    this.errorMessage = "Cannot upload a 0 byte file";
                }
            } catch (Exception e) {
                this.isUploaded = false;
                this.errorMessage = "Problem occurred while uploading file";
                Logger.getInstance(Uploader.class).error(e, e);
            }
            this.parameters.put(FormParameters.FILE_NAME, FileUtil.getLastPathElement(fileName));
        }
    }
}

From source file:com.krawler.workflow.module.dao.BaseBuilderDao.java

public void parseRequest(HttpServletRequest request, HashMap<String, String> arrParam, ArrayList<FileItem> fi,
        boolean fileUpload) throws ServiceException {
    DiskFileUpload fu = new DiskFileUpload();
    FileItem fi1 = null;
    List fileItems = null;//from  ww  w  .j a v  a2 s  .  com
    try {
        fileItems = fu.parseRequest(request);
    } catch (FileUploadException e) {
        logger.warn(e.getMessage(), e);
        throw ServiceException.FAILURE("Admin.createUser", e);
    }
    for (Iterator k = fileItems.iterator(); k.hasNext();) {
        fi1 = (FileItem) k.next();
        if (fi1.isFormField()) {
            try {
                arrParam.put(fi1.getFieldName(), fi1.getString("UTF-8"));
            } catch (UnsupportedEncodingException e) {
                logger.error(e.getMessage());
            }
        } else {
            if (fi1.getSize() != 0) {
                fi.add(fi1);
                fileUpload = true;
            }
        }
    }

}

From source file:com.krawler.formbuilder.servlet.ModuleBuilderController.java

public Map parseRequest(HttpServletRequest request, List<FileItem> fi) throws ServiceException {
    Map arrParam = new HashMap();
    FileItemFactory factory = new DiskFileItemFactory(4096, new File("/tmp"));
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(1000000);//  ww w . j  a  v  a2 s  .  co  m
    FileItem fi1 = null;
    List fileItems = null;
    try {
        fileItems = upload.parseRequest(request);
    } catch (FileUploadException e) {
        logger.warn(e.getMessage(), e);
        throw ServiceException.FAILURE("File upload has some problem", e);
    }
    for (Iterator k = fileItems.iterator(); k.hasNext();) {
        fi1 = (FileItem) k.next();
        if (fi1.isFormField()) {
            String key = fi1.getFieldName();
            try {
                if (arrParam.containsKey(key)) {
                    arrParam.put(key, arrParam.get(key) + ", " + fi1.getString("UTF-8"));
                } else {
                    arrParam.put(fi1.getFieldName(), fi1.getString("UTF-8"));
                }
            } catch (UnsupportedEncodingException e) {
                logger.error(e.getMessage());
            }
        } else {
            if (fi1.getSize() != 0) {
                fi.add(fi1);
            }
        }
    }
    return arrParam;
}

From source file:egovframework.com.cmm.web.EgovMultipartResolver.java

/**
 * multipart?  parsing? ./* w ww.  ja v a2  s.  c o m*/
 */
@SuppressWarnings("unchecked")
@Override
protected MultipartParsingResult parseFileItems(List fileItems, String encoding) {

    //? 3.0  
    MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>();
    Map<String, String[]> multipartParameters = new HashMap<String, String[]>();

    // Extract multipart files and multipart parameters.
    for (Iterator it = fileItems.iterator(); it.hasNext();) {
        FileItem fileItem = (FileItem) it.next();

        if (fileItem.isFormField()) {

            String value = null;
            if (encoding != null) {
                try {
                    value = fileItem.getString(encoding);
                } catch (UnsupportedEncodingException ex) {
                    if (logger.isWarnEnabled()) {
                        logger.warn("Could not decode multipart item '" + fileItem.getFieldName()
                                + "' with encoding '" + encoding + "': using platform default");
                    }
                    value = fileItem.getString();
                }
            } else {
                value = fileItem.getString();
            }
            String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName());
            if (curParam == null) {
                // simple form field
                multipartParameters.put(fileItem.getFieldName(), new String[] { value });
            } else {
                // array of simple form fields
                String[] newParam = StringUtils.addStringToArray(curParam, value);
                multipartParameters.put(fileItem.getFieldName(), newParam);
            }
        } else {

            if (fileItem.getSize() > 0) {
                // multipart file field
                CommonsMultipartFile file = new CommonsMultipartFile(fileItem);

                //? 3.0 ? API? 
                List<MultipartFile> fileList = new ArrayList<MultipartFile>();
                fileList.add(file);

                if (multipartFiles.put(fileItem.getName(), fileList) != null) { // CHANGED!!
                    throw new MultipartException("Multiple files for field name [" + file.getName()
                            + "] found - not supported by MultipartResolver");
                }
                if (logger.isDebugEnabled()) {
                    logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize()
                            + " bytes with original filename [" + file.getOriginalFilename() + "], stored "
                            + file.getStorageDescription());
                }
            }

        }
    }

    return new MultipartParsingResult(multipartFiles, multipartParameters, null);
}