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

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

Introduction

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

Prototype

String getContentType();

Source Link

Document

Returns the content type passed by the browser or null if not defined.

Usage

From source file:org.vasanti.controller.ImageUploader.java

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request// www . ja  va 2 s  . co  m
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    PrintWriter writer = response.getWriter();
    String path = "";
    if (!ServletFileUpload.isMultipartContent(request)) {
        throw new IllegalArgumentException(
                "Request is not multipart, please 'multipart/form-data' enctype for your form.");
    }
    bnimagesbn images = new bnimagesbn();
    ServletFileUpload uploadHandler = new ServletFileUpload(new DiskFileItemFactory());
    response.setContentType("application/json");
    JSONObject files = new JSONObject();
    try {
        List<FileItem> items = uploadHandler.parseRequest(request);
        for (FileItem item : items) {
            if (item.isFormField()) {
                FileItem colpostid = (FileItem) items.get(0);
                String COLPOSTID = colpostid.getString();
                if (COLPOSTID != null) {
                    images.setCOLPOSTID(COLPOSTID);
                    logger.info("COLPOSTID from View  is = " + COLPOSTID);
                } else if (COLPOSTID == null) {
                    status = false;
                    String error = "Listing Id is empty";
                    files.put("status", status);
                    files.put("error", error);
                }
            } else if (!item.isFormField()) {
                String ImageName = "";
                String name = item.getName();
                String contentType = item.getContentType();
                logger.info("Content Type  of file is " + contentType);
                long size = item.getSize();
                logger.info("Size of file is " + size);
                String filetype = name.substring(name.lastIndexOf("."));
                SecureRandom prng = SecureRandom.getInstance("SHA1PRNG");
                String randomNum = Integer.toString(prng.nextInt());
                MessageDigest sha = MessageDigest.getInstance("SHA-1");
                byte[] result = sha.digest(randomNum.getBytes());
                ImageName = hexEncode(result) + filetype;
                logger.info(" ImageName1 is " + ImageName);
                if (name != null) {
                    if ((size < 9048576) && (("image/jpeg".equals(contentType))
                            || ("image/jpg".equals(contentType)) || ("image/gif".equals(contentType))
                            || ("image/png".equals(contentType)) || ("image/bmp".equals(contentType)))) {
                        images.setCOLIMAGENAME(ImageName);
                    }
                } else if (name == null) {
                    // Update the error status since file name is null
                    status = false;
                    String error = "Image name is empty ";
                    files.put("status", status);
                    files.put("error", error);
                }

                File file = new File(ImagefileUploadPath, ImageName);
                item.write(file);
                path = file.getCanonicalPath();
                logger.info(" ImageName1 CanonicalPath is " + path);
                BufferedImage img = null;
                try {
                    img = ImageIO.read((new File(path)));
                } catch (IOException ex) {
                    logger.error("Logging IO Exception while creating thumbnail", ex);
                }
                BufferedImage thumbImg = Scalr.resize(img, Scalr.Method.QUALITY, Scalr.Mode.AUTOMATIC, 150, 150,
                        Scalr.OP_ANTIALIAS);
                File thumbnailfile = new File(ThumbnailFileUploadPath, ImageName);
                images.setCOLTHUMBNAILNAME(ImageName);
                ImageIO.write(thumbImg, "jpg", thumbnailfile);
                files.put("name", ImageName);
                InsertImageInterface insert = new InsertImageInterface();
                count = insert.InsertImage(images);
                if (count > 0) {
                    status = true;
                    files.put("status", status);
                    files.put("count", count);
                }
                logger.info(files.toString());
            }
        }
    } catch (FileUploadException ex) {
        try {
            logger.error("Got the FileUpload Exception", ex);
            String error = "Some error has occurred";
            files.put("error", error);
        } catch (JSONException ex1) {
            logger.error("Got the JsonException", ex1);
        }
    } catch (Exception ex) {
        logger.error("Got the Exception", ex);
    } finally {
        try {
            files.put("status", status);
            writer.write(files.toString());
            writer.close();
        } catch (JSONException ex) {
            logger.error("Got the JSONException", ex);
        }
    }
}

From source file:org.vasanti.controller.UploadServlet.java

/**
 * @param request//from www.  ja  va  2s .c  o m
 * @param response
 * @throws javax.servlet.ServletException
 * @throws java.io.IOException
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
 * response)
 *
 */
@SuppressWarnings("unchecked")
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    PrintWriter writer = response.getWriter();
    String path = "";
    if (!ServletFileUpload.isMultipartContent(request)) {
        throw new IllegalArgumentException(
                "Request is not multipart, please 'multipart/form-data' enctype for your form.");
    }
    bnimagesbn images = new bnimagesbn();

    ServletFileUpload uploadHandler = new ServletFileUpload(new DiskFileItemFactory());
    response.setContentType("application/json");
    JSONArray json = new JSONArray();
    JSONObject files = new JSONObject();
    try {
        List<FileItem> items = uploadHandler.parseRequest(request);
        for (FileItem item : items) {
            if (item.isFormField()) {
                FileItem colpostid = (FileItem) items.get(0);
                String COLPOSTID = colpostid.getString();
                if (COLPOSTID != null) {
                    images.setCOLPOSTID(COLPOSTID);
                    logger.info("COLPOSTID from View  is = " + COLPOSTID);
                } else if (COLPOSTID == null) {
                    RequestDispatcher rd = request
                            .getRequestDispatcher("/WEB-INF/views/services/error-page.jsp");
                    rd.forward(request, response);
                }
            } else if (!item.isFormField()) {
                String ImageName = "";
                String name = item.getName();
                String contentType = item.getContentType();
                logger.info("Content Type  of file is", contentType);
                long size = item.getSize();
                logger.info("Size of file is", size);
                String filetype = name.substring(name.lastIndexOf("."));
                SecureRandom prng = SecureRandom.getInstance("SHA1PRNG");
                String randomNum = Integer.toString(prng.nextInt());
                MessageDigest sha = MessageDigest.getInstance("SHA-1");
                byte[] result = sha.digest(randomNum.getBytes());
                ImageName = hexEncode(result) + filetype;
                logger.info(" ImageName1 is " + ImageName);
                if (name != null) {
                    if ((size < 9048576) && (("image/jpeg".equals(contentType))
                            || ("image/jpg".equals(contentType)) || ("image/gif".equals(contentType))
                            || ("image/png".equals(contentType)) || ("image/bmp".equals(contentType)))) {
                        images.setCOLIMAGENAME(ImageName);
                    }
                } else if (name == null) {
                    RequestDispatcher rd = request
                            .getRequestDispatcher("/WEB-INF/views/adultservices/error-page.jsp");
                    rd.forward(request, response);
                }

                File file = new File(ImagefileUploadPath, ImageName);
                item.write(file);
                path = file.getCanonicalPath();
                logger.info(" ImageName1 CanonicalPath is " + path);
                BufferedImage img = null;
                try {
                    img = ImageIO.read((new File(path)));
                } catch (IOException ex) {
                    logger.error("Logging IO Exception while creating thumbnail", ex);
                }
                BufferedImage thumbImg = Scalr.resize(img, Method.QUALITY, Mode.AUTOMATIC, 150, 150,
                        Scalr.OP_ANTIALIAS);
                File thumbnailfile = new File(ThumbnailFileUploadPath, ImageName);
                images.setCOLTHUMBNAILNAME(ImageName);
                ImageIO.write(thumbImg, "jpg", thumbnailfile);
                JSONObject jsono = new JSONObject();
                jsono.put("name", ImageName);
                jsono.put("size", item.getSize());
                jsono.put("url", "UploadServlet?getfile=" + ImageName);
                jsono.put("thumbnail_url", "UploadServlet?getthumb=" + ImageName);
                jsono.put("delete_url", "UploadServlet?delfile=" + ImageName);
                jsono.put("delete_type", "GET");
                json.put(jsono);
                InsertImageInterface insert = new InsertImageInterface();
                insert.InsertImage(images);
                files.put("files", json);
                logger.info(json.toString());
            }
        }
    } catch (FileUploadException ex) {
        logger.error("Got the FileUpload Exception", ex);
    } catch (Exception ex) {
        logger.error("Got the Exception", ex);
    } finally {
        writer.write(json.toString());
        writer.close();
    }

}

From source file:org.wso2.rnd.nosql.UIHelper.java

/**
 * Upload image/*from w  w  w .  j a  va  2s. c o  m*/
 * @param request
 * @param session
 * @throws FileUploadException
 */

public static void uploadImage(HttpServletRequest request, HttpSession session) throws FileUploadException {

    if (ServletFileUpload.isMultipartContent(request)) {
        ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
        List fileItems = servletFileUpload.parseRequest(request);
        FileItem fileItem = null;
        String recordId = null;
        String fileComment = null;
        Iterator it = fileItems.iterator();
        while (it.hasNext()) {
            FileItem fileItemTemp = (FileItem) it.next();
            if (!fileItemTemp.isFormField()) {
                fileItem = fileItemTemp;
            } else if ("recordId".equals(fileItemTemp.getFieldName())) {
                recordId = fileItemTemp.getString();
            } else if ("fileComment".equals(fileItemTemp.getFieldName())) {
                fileComment = fileItemTemp.getString();
            }
        }

        if (fileItem != null && recordId != null) {
            if (fileItem.getSize() > 0) {
                UUID blobId = UUID.randomUUID();
                Blob blob = new Blob();
                blob.setBlobId(blobId);
                blob.setComment("Scanned Emr Records");
                blob.setFileName(fileItem.getName());
                blob.setContentType(fileItem.getContentType());
                blob.setFileSize(fileItem.getSize());
                blob.setFileContent(fileItem.get());
                blob.setTimeStamp(String.valueOf(System.currentTimeMillis()));
                //blob.setComment(fileComment);
                blob.setComment("Scanned Emr Records");
                //save blob and update record
                EMRClient.getInstance().saveEmrBlob(blob);
                //set record blob ids
                EMRClient.getInstance().saveBlobRecord(recordId, blobId);
                //can not get all the columns in one row :(
                //EMRClient.getInstance().updateRecordBlob(recordId, blobId);

            }
        }

    }
}

From source file:org.wyona.yanel.servlet.communication.HttpRequest.java

/**
 * Gets the content-type of the uploaded file.
 * @param name Input field name//from  w  ww .j  ava  2s  . co m
 * @return content-type
 */
public String getContentType(String name) {
    if (!isMultipartRequest()) {
        return null;
    }
    Iterator iter = this.items.iterator();
    while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();
        if (item.getFieldName().equals(name)) {
            return item.getContentType();
        }
    }
    return null;

}

From source file:org.xcmis.restatom.AtomCmisService.java

@POST
@Path("{repositoryId}/file/{objectId}")
@Consumes("multipart/form-data")
public Response setContentStream(@Context HttpServletRequest httpRequest,
        @PathParam("repositoryId") String repositoryId,
        @QueryParam(HttpHeaders.CONTENT_TYPE) String contentType, Iterator<FileItem> files) {
    if (files.hasNext()) {
        FileItem file = files.next();
        // In fact expected to get just one file. Other items
        // in iterator may be simple form fields, and we are not
        // care about it. Just skip all of them.
        if (!file.isFormField()) {
            try {
                // Content-Type passed as query parameter, we do not
                // wont to use passed by browser. But if parameter does
                // not exists then try to get media type passed by browser.
                if (contentType == null) {
                    contentType = file.getContentType();
                }/*  www. j a  v  a  2 s .  c  o m*/

                RequestContext request = initRequestContext(httpRequest);
                Connection connection = null;
                try {
                    connection = CmisRegistry.getInstance().getConnection(repositoryId);
                    AbstractCmisCollection<?> collection = getCollection(request, connection);
                    collection.putMedia(null, new javax.activation.MimeType(contentType), null,
                            file.getInputStream(), request);
                    return Response.status(201).build();
                } finally {
                    if (connection != null) {
                        connection.close();
                    }
                }
            } catch (IOException ioe) {
                throw new WebApplicationException(ioe, createErrorResponse(ioe, 500));
            } catch (ResponseContextException rce) {
                throw new WebApplicationException(rce,
                        createErrorResponse(rce, rce.getResponseContext().getStatus()));
            } catch (MimeTypeParseException mte) {
                throw new WebApplicationException(mte, createErrorResponse(mte, 400));
            }
        }
    }
    throw new WebApplicationException(new InvalidArgumentException("Content of document is missing."), 400);
}

From source file:org.xmlactions.web.conceal.HtmlRequestMapper.java

/**
 * Get the request parameters. If this is a 'post' page the parameters come
 * from the body else they come from the request.getParameter().
 * //from  w w w  .  ja v a  2  s .  c o  m
 * @param request
 *            the HttpServletRequest
 * @return an array of KeyPairs with the parameters.
 * @throws IOException
 * @throws FileUploadException
 * @throws java.lang.Exception
 */
public Map<String, Object> getRequestParamsAsMap(HttpServletRequest request)
        throws IOException, FileUploadException {
    Map<String, Object> map = new HashMap<String, Object>();

    //
    // Get all parameters.
    //
    Enumeration<String> e = request.getParameterNames();
    while (e.hasMoreElements()) {
        String key = e.nextElement();
        String[] values = request.getParameterValues(key);
        if (values != null) {
            if (values.length == 1) {
                map.put(key, values[0]);
            } else {
                map.put(key, values);
            }
        }
    }
    if (this.is_multipart_form_data(request) == true) {

        DiskFileItemFactory factory = new DiskFileItemFactory();

        // maximum size that will be stored in memory
        // factory.setSizeThreshold(fileUploadMaxSize);

        ServletFileUpload upload = new ServletFileUpload(factory);
        // maximum size before a FileUploadException will be thrown
        if (fileUploadMaxSize > 0) {
            upload.setSizeMax(fileUploadMaxSize);
        }

        List<FileItem> list = upload.parseRequest(request);
        for (FileItem fi : list) {
            if (fi.getContentType() != null) {
                byte buffer[] = new byte[fi.getInputStream().available()];
                fi.getInputStream().read(buffer);
                // TODO emm, need to keys for the buffer for a file upload
                // parameters.add(new KeyPair(fi.getFieldName(),
                // fi.getName(), buffer));
                // log.debug(fi.getFieldName() + " = " + fi.getName());
                map.put(UPLOAD_FILE_NAME, fi.getName());
                map.put(UPLOAD_FILE_SIZE, fi.getSize());
                // map.put(fi.getFieldName(), buffer);
                map.put(UPLOAD_FILE_DATA, buffer);
                if (log.isDebugEnabled()) {
                    if (buffer.length > 100) {
                        log.debug(fi.getFieldName() + " = " + new String(buffer).substring(0, 100));
                    } else {
                        log.debug(fi.getFieldName() + " = " + new String(buffer));
                    }
                }
            } else {
                log.debug(fi.getFieldName() + " = " + fi.getString());
                map.put(fi.getFieldName(), fi.getString());
            }
        }
    }
    return (map);
}

From source file:org.xmlactions.web.conceal.HtmlRequestMapper.java

/**
 * Get the request parameters. If this is a 'post' page the parameters come
 * from the body else they come from the request.getParameter().
 * /*from w  w  w  .j a va 2 s  .c o m*/
 * @param request
 *            the HttpServletRequest
 * @return an List of HttpParam created from the incoming request.
 * @throws IOException
 * @throws FileUploadException
 * @throws java.lang.Exception
 */
public List<HttpParam> getRequestParamsAsVector(HttpServletRequest request)
        throws IOException, FileUploadException {

    List<HttpParam> paramList = new ArrayList<HttpParam>();

    Enumeration<String> e = request.getParameterNames();
    while (e.hasMoreElements()) {
        String key = e.nextElement();
        String[] values = request.getParameterValues(key);
        if (values != null) {
            for (String value : values) {
                paramList.add(new HttpParam(key, value));
                if (log.isDebugEnabled()) {
                    log.debug(key + " = " + value);
                }
            }
        }
    }

    if (this.is_multipart_form_data(request) == true) {

        DiskFileItemFactory factory = new DiskFileItemFactory();

        // maximum size that will be stored in memory
        // factory.setSizeThreshold(fileUploadMaxSize);

        ServletFileUpload upload = new ServletFileUpload(factory);
        // maximum size before a FileUploadException will be thrown
        if (fileUploadMaxSize > 0) {
            upload.setSizeMax(fileUploadMaxSize);
        }

        List<FileItem> list = upload.parseRequest(request);
        for (FileItem fi : list) {
            if (fi.getContentType() != null) {
                byte buffer[] = new byte[fi.getInputStream().available()];
                fi.getInputStream().read(buffer);
                // TODO emm, need to keys for the buffer for a file upload
                // parameters.add(new KeyPair(fi.getFieldName(),
                // fi.getName(), buffer));
                // log.debug(fi.getFieldName() + " = " + fi.getName());
                paramList.add(new HttpParam(UPLOAD_FILE_NAME, fi.getName()));
                paramList.add(new HttpParam(UPLOAD_FILE_SIZE, fi.getSize()));
                // map.put(fi.getFieldName(), buffer);
                paramList.add(new HttpParam(UPLOAD_FILE_DATA, buffer));
                if (log.isDebugEnabled()) {
                    if (buffer.length > 100) {
                        log.debug(fi.getFieldName() + " = " + new String(buffer).substring(0, 100));
                    } else {
                        log.debug(fi.getFieldName() + " = " + new String(buffer));
                    }
                }
            } else {
                log.debug(fi.getFieldName() + " = " + fi.getString());
                paramList.add(new HttpParam(fi.getFieldName(), fi.getString()));
            }
        }
    }
    return (paramList);
}

From source file:org.xmlportletfactory.portal.example01.PortletOneUpload.java

public PortletOne uploadFiles(ActionRequest request, PortletOne portletOne)
        throws PortalException, SystemException, IOException, SecurityException, IllegalArgumentException,
        NoSuchMethodException, IllegalAccessException, InvocationTargetException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    long userId = themeDisplay.getUserId();
    long groupId = UserLocalServiceUtil.getUser(userId).getGroupId();
    ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), request);

    String[] groupPermissions = StringUtil.split("DELETE,UPDATE,VIEW");
    String[] guestPermissions = StringUtil.split("DELETE,UPDATE,VIEW");
    serviceContext.setGroupPermissions(groupPermissions);
    serviceContext.setGuestPermissions(guestPermissions);

    for (FileItem item : files) {
        String formField = item.getFieldName();
        String strType = formField.substring(formField.lastIndexOf(SEPARATOR) + 1);
        if (strType.equalsIgnoreCase(DOCUMENTFILE)) {
            formField = getFieldFromAttribute(extractSufix(DOCUMENTFILE, formField));
            if (deleteds.get(formField) != null) {
                Long prevDocument = (Long) hiddens.get(HIDDEN + SEPARATOR + formField);
                if ((prevDocument != null) && (prevDocument != 0L)) {
                    DLFileEntryLocalServiceUtil.deleteDLFileEntry(prevDocument);
                }//from www. j  av a  2  s .c om
            } else if (!item.getName().equals("")) {
                if (dlFolderId == 0L) {
                    createDLFolders(request, userId, groupId, serviceContext);
                }

                String sourceFileName = item.getName();
                String title = sourceFileName;
                String description = sourceFileName;
                long folderId = dlFolderId;
                String changeLog = "changeLog";
                InputStream inputStream = null;
                long fileSize = item.getSize();
                String contentType = item.getContentType();

                inputStream = item.getInputStream();

                DLFolder dlFolder = DLFolderLocalServiceUtil.getDLFolder(folderId);

                FileEntry fileEntry = DLAppServiceUtil.addFileEntry(dlFolder.getRepositoryId(), folderId,
                        sourceFileName, contentType, title, description, changeLog, inputStream, fileSize,
                        serviceContext);

                callSetMethod(formField, portletOne, fileEntry.getFileEntryId());

                //Check possible previous values
                if (hiddens != null) {
                    Long prevDocument = (Long) hiddens.get(HIDDEN + SEPARATOR + formField);
                    if ((prevDocument != null) && (prevDocument != 0L)) {
                        //Delete previous document
                        DLFileEntryLocalServiceUtil.deleteDLFileEntry(prevDocument);
                    }
                }
            } else {
                //See hidden value, possible edit
                if (hiddens != null) {
                    Long prevDocument = (Long) hiddens.get(HIDDEN + SEPARATOR + formField);
                    if ((prevDocument != null) && (prevDocument != 0L)) {
                        callSetMethod(formField, portletOne,
                                (Long) hiddens.get(HIDDEN + SEPARATOR + formField));
                    }
                }
            }
        }
    }
    return portletOne;
}

From source file:org.xmlportletfactory.portal.example01.UsersUpload.java

public Users uploadFiles(ActionRequest request, Users users)
        throws PortalException, SystemException, IOException, SecurityException, IllegalArgumentException,
        NoSuchMethodException, IllegalAccessException, InvocationTargetException {

    ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
    long userId = themeDisplay.getUserId();
    long groupId = UserLocalServiceUtil.getUser(userId).getGroupId();
    ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), request);

    String[] groupPermissions = StringUtil.split("DELETE,UPDATE,VIEW");
    String[] guestPermissions = StringUtil.split("DELETE,UPDATE,VIEW");
    serviceContext.setGroupPermissions(groupPermissions);
    serviceContext.setGuestPermissions(guestPermissions);

    for (FileItem item : files) {
        String formField = item.getFieldName();
        String strType = formField.substring(formField.lastIndexOf(SEPARATOR) + 1);
        if (strType.equalsIgnoreCase(DOCUMENTFILE)) {
            formField = getFieldFromAttribute(extractSufix(DOCUMENTFILE, formField));
            if (deleteds.get(formField) != null) {
                Long prevDocument = (Long) hiddens.get(HIDDEN + SEPARATOR + formField);
                if ((prevDocument != null) && (prevDocument != 0L)) {
                    DLFileEntryLocalServiceUtil.deleteDLFileEntry(prevDocument);
                }/*from   w w w  .  jav  a  2  s  . c o  m*/
            } else if (!item.getName().equals("")) {
                if (dlFolderId == 0L) {
                    createDLFolders(request, userId, groupId, serviceContext);
                }

                String sourceFileName = item.getName();
                String title = sourceFileName;
                String description = sourceFileName;
                long folderId = dlFolderId;
                String changeLog = "changeLog";
                InputStream inputStream = null;
                long fileSize = item.getSize();
                String contentType = item.getContentType();

                inputStream = item.getInputStream();

                DLFolder dlFolder = DLFolderLocalServiceUtil.getDLFolder(folderId);

                FileEntry fileEntry = DLAppServiceUtil.addFileEntry(dlFolder.getRepositoryId(), folderId,
                        sourceFileName, contentType, title, description, changeLog, inputStream, fileSize,
                        serviceContext);

                callSetMethod(formField, users, fileEntry.getFileEntryId());

                //Check possible previous values
                if (hiddens != null) {
                    Long prevDocument = (Long) hiddens.get(HIDDEN + SEPARATOR + formField);
                    if ((prevDocument != null) && (prevDocument != 0L)) {
                        //Delete previous document
                        DLFileEntryLocalServiceUtil.deleteDLFileEntry(prevDocument);
                    }
                }
            } else {
                //See hidden value, possible edit
                if (hiddens != null) {
                    Long prevDocument = (Long) hiddens.get(HIDDEN + SEPARATOR + formField);
                    if ((prevDocument != null) && (prevDocument != 0L)) {
                        callSetMethod(formField, users, (Long) hiddens.get(HIDDEN + SEPARATOR + formField));
                    }
                }
            }
        }
    }
    if (dlFolderId != 0L) {
        users.setFolderDLId(dlFolderId);
    }
    return users;
}

From source file:org.xsystem.sql2.http.impl.HttpHelper.java

public static Map formUpload(HttpServletRequest request)
        throws FileUploadException, UnsupportedEncodingException {
    Map ret = new HashMap();
    FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setHeaderEncoding("UTF-8");
    List items = upload.parseRequest(request);
    Iterator iterator = items.iterator();

    while (iterator.hasNext()) {
        FileItem item = (FileItem) iterator.next();
        String paramName = item.getFieldName();
        if (paramName.equalsIgnoreCase("skip")) {
            continue;
        }//from w w w .jav  a  2 s .c o  m
        if (paramName.equalsIgnoreCase("total")) {
            continue;
        }
        if (item.isFormField()) {
            String svalue = item.getString("UTF-8");
            ret.put(paramName, svalue);
        } else {

            FileTransfer fileTransfer = new FileTransfer();
            String fileName = item.getName();
            String contentType = item.getContentType();
            byte[] data = item.get();
            fileTransfer.setFileName(fileName);
            String ft = Auxilary.getFileExtention(fileName);
            fileTransfer.setFileType(ft);
            fileTransfer.setContentType(contentType);
            fileTransfer.setData(data);
            ret.put(paramName, fileTransfer);
        }
    }
    return ret;
}