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

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

Introduction

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

Prototype

public static final boolean isMultipartContent(HttpServletRequest request) 

Source Link

Document

Utility method that determines whether the request contains multipart content.

Usage

From source file:com.afspq.web.ProcessQuery.java

@SuppressWarnings({ "unused", "rawtypes" })
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    if (isMultipart) {
        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);

        try {//from w ww .  j  a va  2 s  .  c  o m
            String root = getServletContext().getRealPath("/");
            File path = new File(root + "/uploads");
            List items = upload.parseRequest(request);

            if (!path.exists()) {
                boolean status = path.mkdirs();
            }

            if (items.size() > 0) {
                DiskFileItem file = (DiskFileItem) items.get(0);
                File uploadedFile = new File(path + "/" + file.getName());

                file.write(uploadedFile);
                request.setAttribute("results",
                        new ImageResults().getResults(uploadedFile, imageSearch, 0, true));
                request.getRequestDispatcher("imageResults.jsp").forward(request, response);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

From source file:com.takin.mvc.mvc.client.UploadRequest.java

public static boolean isMultipart(HttpServletRequest request) {
    return (request != null && ServletFileUpload.isMultipartContent(request));
}

From source file:fi.vm.sade.organisaatio.resource.TempFileResource.java

@POST
@Path("/")
@Produces(MediaType.TEXT_PLAIN)//from ww  w.j  av  a 2s .c om
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Secured({ "ROLE_APP_ORGANISAATIOHALLINTA" })
public String addImage(@Context HttpServletRequest request, @Context HttpServletResponse response) {
    LOG.info("Adding attachment " + request.getMethod());
    Map<String, String> result = null;

    try {
        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);

            for (FileItem item : upload.parseRequest(request)) {
                if (item.getName() != null) {
                    result = storeAttachment(item);
                }
            }
        } else {
            response.setStatus(400);
            response.getWriter().append("Not a multipart request");
        }
        LOG.info("Added attachment: " + result);
        JSONObject json = new JSONObject(result);
        return json.toString();
    } catch (Exception e) {
        return "organisaatio.fileupload.error";
    }
}

From source file:com.bbc.remarc.ws.UploadServiceImpl.java

@POST
@Produces("application/json")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response upload(@Context HttpServletRequest request) {

    log.debug("performing upload");

    final String resourcesPath = (String) servletContext.getAttribute("resourcePathUri");

    if (resourcesPath == null) {
        throw new IllegalStateException("Application hasnt got a resources path configured");
    }/*w w  w.ja v a  2 s .  c  o  m*/

    final String uploadFolder = resourcesPath + Configuration.UPLOAD_DIR;
    final String contentFolder = resourcesPath + Configuration.CONTENT_DIR;

    if (ServletFileUpload.isMultipartContent(request)) {

        // Configure a repository (to ensure a secure temp location is used)
        File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");

        // Create a factory for storing disk-based file items (our archive could be too large for memory)
        DiskFileItemFactory factory = newDiskFileItemFactory(servletContext, repository);

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        try {

            // Parse the request
            List<FileItem> items = upload.parseRequest(request);

            if (items.size() == 1) {

                FileItem archive = items.get(0);

                // write the archive to the upload folder
                File uploadedFile = new File(uploadFolder + archive.getName());
                archive.write(uploadedFile);

                log.debug("upload complete");

                unzipArchive(uploadedFile, uploadFolder);

                log.debug("unzip complete");

                uploadedFile.delete();

                log.debug("removed uploaded archive");

            } else {
                throw new IllegalStateException(
                        "Received more file items than expected. Expected 1, got " + items.size());
            }

        } catch (Exception e) {
            throw new RuntimeException("Error writing the archive to disk", e);
        }

        log.debug("processing contents of upload");

        ResourceManager.processUploadDir(uploadFolder, contentFolder);
    }

    URI uri = null;
    try {
        uri = new URI("../index.html");
    } catch (URISyntaxException e) {
        log.error("Error creating admin.html URI: " + e);
    }

    Response resp;
    if (uri != null) {
        resp = Response.seeOther(uri).build();
    } else {
        resp = Response.ok().build();
    }

    return resp;
}

From source file:com.mkmeier.quickerbooks.ProcessSquare.java

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

    if (!ServletFileUpload.isMultipartContent(request)) {
        showForm(request, response);
    } else {

        ServletFileUploader up = new ServletFileUploader();
        up.parseRequest(request);

        File file = up.getFileMap().get("squareTxn");

        int incomeAcctNum = Integer.parseInt(up.getFieldMap().get("incomeAcct"));
        int feeAcctNum = Integer.parseInt(up.getFieldMap().get("feeAcct"));
        int depositAcctNum = Integer.parseInt(up.getFieldMap().get("depositAcct"));

        QbAccount incomeAcct = getAccount(incomeAcctNum);
        QbAccount feeAcct = getAccount(feeAcctNum);
        QbAccount depositAcct = getAccount(depositAcctNum);

        SquareParser sp = new SquareParser(file);
        List<SquareTxn> txns;

        try {
            txns = sp.parse();
        } catch (SquareException ex) {
            throw new ServletException(ex);
        }

        SquareToIif squareToIif = new SquareToIif(txns, incomeAcct, feeAcct, depositAcct);
        File iifFile = squareToIif.getIifFile();

        response.setHeader("Content-Disposition", "attachement; filename=\"iifFile.iif\"");
        ServletOutputStream out = response.getOutputStream();
        FileInputStream in = new FileInputStream(iifFile);
        byte[] buffer = new byte[4096];
        int length;
        while ((length = in.read(buffer)) > 0) {
            out.write(buffer, 0, length);
        }
        in.close();
        out.flush();

        //       PrintWriter out = response.getWriter();
        //       for (SquareTxn txn : txns) {
        //      out.println(txn.toString());
        //       }
    }
}

From source file:com.sketchy.server.UpgradeUploadServlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    JSONServletResult jsonServletResult = new JSONServletResult(Status.SUCCESS);
    try {// w  w  w  .  ja v a 2s .  c om

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {

            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setRepository(FileUtils.getTempDirectory());
            factory.setSizeThreshold(MAX_SIZE);

            ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
            List<FileItem> files = servletFileUpload.parseRequest(request);
            String version = "";
            for (FileItem fileItem : files) {
                String uploadFileName = fileItem.getName();
                if (StringUtils.isNotBlank(uploadFileName)) {

                    JarInputStream jarInputStream = null;
                    try {
                        // check to make sure it's a Sketchy File with a Manifest File
                        jarInputStream = new JarInputStream(fileItem.getInputStream(), true);
                        Manifest manifest = jarInputStream.getManifest();
                        if (manifest == null) {
                            throw new Exception("Invalid Upgrade File!");
                        }
                        Attributes titleAttributes = manifest.getMainAttributes();
                        if ((titleAttributes == null) || (!StringUtils.containsIgnoreCase(
                                titleAttributes.getValue("Implementation-Title"), "Sketchy"))) {
                            throw new Exception("Invalid Upgrade File!");
                        }
                        version = titleAttributes.getValue("Implementation-Version");
                    } catch (Exception e) {
                        throw new Exception("Invalid Upgrade File!");
                    } finally {
                        IOUtils.closeQuietly(jarInputStream);
                    }
                    // save new .jar file as "ready"
                    fileItem.write(new File("Sketchy.jar.ready"));
                    jsonServletResult.put("version", version);
                }
            }
        }
    } catch (Exception e) {
        jsonServletResult = new JSONServletResult(Status.ERROR, e.getMessage());
    }
    response.setContentType("text/html");
    response.setStatus(HttpServletResponse.SC_OK);
    response.getWriter().print(jsonServletResult.toJSONString());
}

From source file:com.carolinarollergirls.scoreboard.jetty.MediaServlet.java

protected void upload(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {//w  ww  . jav a  2s.  com
        if (!ServletFileUpload.isMultipartContent(request)) {
            response.sendError(response.SC_BAD_REQUEST);
            return;
        }

        String media = null, type = null;
        FileItemFactory fiF = new DiskFileItemFactory();
        ServletFileUpload sfU = new ServletFileUpload(fiF);
        List<FileItem> fileItems = new LinkedList<FileItem>();
        Iterator i = sfU.parseRequest(request).iterator();

        while (i.hasNext()) {
            FileItem item = (FileItem) i.next();
            if (item.isFormField()) {
                if (item.getFieldName().equals("media"))
                    media = item.getString();
                else if (item.getFieldName().equals("type"))
                    type = item.getString();
            } else if (item.getName().matches(zipExtRegex)) {
                processZipFileItem(fiF, item, fileItems);
            } else if (uploadFileNameFilter.accept(null, item.getName())) {
                fileItems.add(item);
            }
        }

        if (fileItems.size() == 0) {
            setTextResponse(response, response.SC_BAD_REQUEST, "No files provided to upload");
            return;
        }

        processFileItemList(fileItems, media, type);

        int len = fileItems.size();
        setTextResponse(response, response.SC_OK,
                "Successfully uploaded " + len + " file" + (len > 1 ? "s" : ""));
    } catch (FileNotFoundException fnfE) {
        setTextResponse(response, response.SC_NOT_FOUND, fnfE.getMessage());
    } catch (IllegalArgumentException iaE) {
        setTextResponse(response, response.SC_BAD_REQUEST, iaE.getMessage());
    } catch (FileUploadException fuE) {
        setTextResponse(response, response.SC_INTERNAL_SERVER_ERROR, fuE.getMessage());
    }
}

From source file:com.jk.web.filters.JKDefaultFilter.java

@Override
public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain chain)
        throws IOException, ServletException {
    try {//from   w ww.j  ava 2 s  . c  o m
        final HttpServletRequest request = (HttpServletRequest) req;
        final HttpServletResponse response = (HttpServletResponse) res;
        this.logger.info("@doFilter : ".concat(request.getRequestURI()));
        JKWebContextUtil.sync(request);
        final boolean multipart = ServletFileUpload.isMultipartContent(request);
        if (!multipart) {
            final boolean toPdf = request.getParameter(JKWebConstants.PARAMTER_CONVERT_TO_PDF) != null;
            if (toPdf) {
                this.logger.info("toPDF request");
                final HttpServletRequestWrapper rq = new HttpServletRequestWrapper(request);
                final CharResponseWrapper rs = new CharResponseWrapper(response);
                chain.doFilter(rq, rs);
                JKWebUtil.toPDF(request, response, rs.toString());
            } else {
                chain.doFilter(request, response);
            }
        } else {
            chain.doFilter(request, response);
        }
    } catch (final Exception e) {
        if (e instanceof ServletException) {
            throw (ServletException) e;
        }
        throw new ServletException(e);
    } finally {
        JKThreadLocal.remove();
        this.logger.info("@End of doFilter");
    }
}

From source file:com.sketchy.server.ImageUploadServlet.java

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    JSONServletResult jsonServletResult = new JSONServletResult(Status.SUCCESS);
    try {//from  ww w . jav a2 s. c o m

        boolean isMultipart = ServletFileUpload.isMultipartContent(request);
        if (isMultipart) {

            DiskFileItemFactory factory = new DiskFileItemFactory();
            factory.setRepository(FileUtils.getTempDirectory());
            factory.setSizeThreshold(MAX_SIZE);

            ServletFileUpload servletFileUpload = new ServletFileUpload(factory);
            List<FileItem> files = servletFileUpload.parseRequest(request);
            for (FileItem fileItem : files) {
                String uploadFileName = fileItem.getName();
                if (StringUtils.isNotBlank(uploadFileName)) {
                    // Don't allow \\ in the filename, assume it's a directory separator and convert to "/"
                    // and take the filename after the last "/"
                    // This will fix the issue of Jetty not reading and serving files
                    // with "\" (%5C) characters 
                    // This also fixes the issue of IE sometimes sending the whole path 
                    // (depending on the security settings)
                    uploadFileName = StringUtils.replaceChars(uploadFileName, "\\", "/");
                    if (StringUtils.contains(uploadFileName, "/")) {
                        uploadFileName = StringUtils.substringAfterLast(uploadFileName, "/");
                    }

                    File uploadFile = HttpServer.getUploadFile(uploadFileName);
                    // make sure filename is actually in the upload directory
                    // we don't want any funny games
                    if (!uploadFile.getParentFile().equals(HttpServer.IMAGE_UPLOAD_DIRECTORY)) {
                        throw new RuntimeException("Can not upload File. Invalid directory!");
                    }

                    // if saved ok, then need to add the data file
                    SourceImageAttributes sourceImageAttributes = new SourceImageAttributes();
                    sourceImageAttributes.setImageName(uploadFileName);

                    File pngFile = HttpServer.getUploadFile(sourceImageAttributes.getImageFilename());
                    if (pngFile.exists()) {
                        throw new Exception(
                                "Can not Upload file. File '" + uploadFileName + "' already exists!");
                    }
                    File dataFile = HttpServer.getUploadFile(sourceImageAttributes.getDataFilename());

                    // Convert the image to a .PNG file
                    BufferedImage image = ImageUtils.loadImage(fileItem.getInputStream());
                    ImageUtils.saveImage(pngFile, image);

                    sourceImageAttributes.setWidth(image.getWidth());
                    sourceImageAttributes.setHeight(image.getHeight());

                    FileUtils.writeStringToFile(dataFile, sourceImageAttributes.toJson());
                    jsonServletResult.put("imageName", uploadFileName);
                }
            }
        }
    } catch (Exception e) {
        jsonServletResult = new JSONServletResult(Status.ERROR, e.getMessage());
    }
    response.setContentType("text/html");
    response.setStatus(HttpServletResponse.SC_OK);
    response.getWriter().print(jsonServletResult.toJSONString());
}

From source file:com.mkmeier.quickerbooks.ProcessUwcu.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 *
 * @param request servlet request/*  ww  w  . ja  v  a 2s.  c  o  m*/
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");

    if (!ServletFileUpload.isMultipartContent(request)) {
        showForm(request, response);
    } else {

        ServletFileUploader up = new ServletFileUploader();
        up.parseRequest(request);

        File file = up.getFileMap().get("uwcuTxn");

        int depositAcctNum = Integer.parseInt(up.getFieldMap().get("depositAcct"));
        int creditCardAcctNum = Integer.parseInt(up.getFieldMap().get("ccAcct"));

        QbAccount depositAcct = getAccount(depositAcctNum);
        QbAccount creditCardAcct = getAccount(creditCardAcctNum);

        UwcuParser uwcuParser = new UwcuParser(file);
        List<UwcuTxn> txns;

        try {
            txns = uwcuParser.parse();
        } catch (UwcuException ex) {
            throw new ServletException(ex);
        }

        UwcuToIif uwcuToIif = new UwcuToIif(txns, depositAcct, creditCardAcct);
        File iifFile = uwcuToIif.getIifFile();

        response.setHeader("Content-Disposition", "attachement; filename=\"iifFile.iif\"");
        ServletOutputStream out = response.getOutputStream();
        FileInputStream in = new FileInputStream(iifFile);
        byte[] buffer = new byte[4096];
        int length;
        while ((length = in.read(buffer)) > 0) {
            out.write(buffer, 0, length);
        }
        in.close();
        out.flush();
    }
}