Example usage for org.apache.commons.fileupload FileItemIterator hasNext

List of usage examples for org.apache.commons.fileupload FileItemIterator hasNext

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileItemIterator hasNext.

Prototype

boolean hasNext() throws FileUploadException, IOException;

Source Link

Document

Returns, whether another instance of FileItemStream is available.

Usage

From source file:cc.vidr.servlet.DatumImportServlet.java

public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
    try {/* ww  w . ja v  a2 s  .  c o  m*/
        ServletFileUpload upload = new ServletFileUpload();
        FileItemIterator iterator = upload.getItemIterator(req);
        while (iterator.hasNext()) {
            FileItemStream item = iterator.next();
            if (item.isFormField())
                continue;
            String filename = item.getName();
            if (filename.isEmpty())
                continue;
            InputStream stream = item.openStream();
            resp.getWriter().println("<p>");
            try {
                resp.getWriter().println("Loading '" + filename + "'... ");
                Program program = new Program(stream);
                program.parse();
                program.assertFacts(Server.factDatabase);
                program.assertRules(Server.ruleDatabase);
                resp.getWriter().println("OK");
            } catch (RecognitionException e) {
                resp.getWriter().println("Malformed input: " + e.getMessage());
            } catch (UnsafeException e) {
                resp.getWriter().println("Unsafe rule or non-ground fact encountered: " + e.getMessage());
            } catch (IOException e) {
                resp.getWriter().println("Error opening file: " + e.getMessage());
            }
            resp.getWriter().println("</p>");
        }
    } catch (FileUploadException e) {
        throw new ServletException(e);
    }
    doGet(req, resp);
}

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

protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    super.doPost(request, response);

    try {//  w w w  . j a  v  a  2  s  . com
        if (!ServletFileUpload.isMultipartContent(request)) {
            response.sendError(HttpServletResponse.SC_BAD_REQUEST);
            return;
        }

        ServletFileUpload sfU = new ServletFileUpload();
        FileItemIterator items = sfU.getItemIterator(request);
        while (items.hasNext()) {
            FileItemStream item = items.next();
            if (!item.isFormField()) {
                InputStream stream = item.openStream();
                Document doc = editor.toDocument(stream);
                stream.close();
                handleDocument(request, response, doc);
                return;
            }
        }

        response.sendError(HttpServletResponse.SC_BAD_REQUEST, "No XML uploaded");
    } catch (FileUploadException fuE) {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST, fuE.getMessage());
    } catch (JDOMException jE) {
        response.sendError(HttpServletResponse.SC_BAD_REQUEST, jE.getMessage());
    }
}

From source file:com.boazlev.fnf.web.IndexerServlet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/xml;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
    out.println("<?xml-stylesheet type=\"text/xsl\" href=\"out.xslt\"?>");
    out.println("<catalog>");

    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload fileUpload = new ServletFileUpload(factory);
    try {/*from www .  j a  va 2  s  .c  om*/
        FileItemIterator iterator = fileUpload.getItemIterator(request);
        while (iterator.hasNext()) {
            FileItemStream item = iterator.next();
            InputStream mathMLContent = item.openStream();
            if (!item.isFormField()) {
                Map<String, Integer> index = indexer.index(mathMLContent, "./lines.txt");
                for (Map.Entry<String, Integer> mapEntry : index.entrySet()) {
                    out.println("<cd>");
                    out.print("<index>");
                    out.print(mapEntry.getKey());
                    out.println("</index>");
                    out.print("<count>");
                    out.print(mapEntry.getValue());
                    out.println("</count>");
                    out.println("</cd>");
                }
            }
        }
    } catch (FileUploadException e) {
        throw new ServletException("Cannot parse multipart request.", e);
    }
    out.print("</catalog>");
}

From source file:com.caibowen.gplume.misc.test.stream.Upload.java

private Upload(final HttpServletRequest request) {
    this.upload = new ServletFileUpload();
    this.request = request;

    super.setStreamProvider(new InputStreamProvider() {

        @Override/*  w  ww.  jav  a 2 s  . com*/
        public InputStream getStream(String path) throws IOException {
            try {
                FileItemIterator iter = upload.getItemIterator(request);
                while (iter.hasNext()) {
                    FileItemStream stm = iter.next();
                    if (stm.getFieldName().equals(path)) {
                        return stm.openStream();
                    }
                }
            } catch (Exception e) {
                throw new IOException(e);
            }
            throw new IOException(path + " does not exists");
        }

        @Override
        public String getRealPath(String p) {
            throw new UnsupportedOperationException();
        }
    });

}

From source file:jetbrick.web.mvc.multipart.CommonsFileUpload.java

@Override
public MultipartRequest transform(HttpServletRequest request) throws IOException {
    String contextType = request.getHeader("Content-Type");
    if (contextType == null || !contextType.startsWith("multipart/form-data")) {
        return null;
    }/*from   ww w. j av a 2  s  . co m*/

    String encoding = request.getCharacterEncoding();

    MultipartRequest req = new MultipartRequest(request);
    ServletFileUpload upload = new ServletFileUpload();
    upload.setHeaderEncoding(encoding);

    try {
        FileItemIterator it = upload.getItemIterator(request);
        while (it.hasNext()) {
            FileItemStream item = it.next();
            String fieldName = item.getFieldName();
            InputStream stream = item.openStream();
            try {
                if (item.isFormField()) {
                    req.setParameter(fieldName, Streams.asString(stream, encoding));
                } else {
                    String originalFilename = item.getName();
                    if (originalFilename == null || originalFilename.length() == 0) {
                        continue;
                    }
                    File diskFile = UploadUtils.getUniqueTemporaryFile(originalFilename);
                    OutputStream fos = new FileOutputStream(diskFile);

                    try {
                        IoUtils.copy(stream, fos);
                    } finally {
                        IoUtils.closeQuietly(fos);
                    }

                    FilePart filePart = new FilePart(fieldName, originalFilename, diskFile);
                    req.addFile(filePart);
                }
            } finally {
                IoUtils.closeQuietly(stream);
            }
        }
    } catch (FileUploadException e) {
        throw new IllegalStateException(e);
    }

    return req;
}

From source file:br.com.ifpb.bdnc.projeto.geo.system.MultipartData.java

public String processFile(HttpServletRequest request) throws ServletException, IOException {

    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    if (isMultipart) {
        ServletFileUpload upload = new ServletFileUpload();
        try {/*from   w ww .j  a v  a  2s  .com*/
            FileItemIterator itr = upload.getItemIterator(request);

            while (itr.hasNext()) {
                FileItemStream item = itr.next();
                if (!item.isFormField()) {
                    String path = request.getServletContext().getRealPath("/");
                    String nameToSave = "profileImage" + Calendar.getInstance().getTimeInMillis()
                            + item.getName();
                    if (saveImage(path + "/userImages", item, nameToSave)) {
                        return folder + "/" + nameToSave;
                    }
                }
            }

        } catch (FileUploadException ex) {
            System.out.println("erro ao obter informaoes sobre o arquivo");
        }

    } else {
        System.out.println("Erro no formulario!");
    }

    return null;
}

From source file:com.runwaysdk.web.SecureFileUploadServlet.java

protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    ClientRequestIF clientRequest = (ClientRequestIF) req.getAttribute(ClientConstants.CLIENTREQUEST);

    boolean isMultipart = ServletFileUpload.isMultipartContent(req);

    if (!isMultipart) {
        // TODO Change exception type
        String msg = "The HTTP Request must contain multipart content.";
        throw new RuntimeException(msg);
    }//  w w w .  j  av  a2  s .co m

    String fileId = req.getParameter("sessionId").toString().trim();
    FileItemFactory factory = new ProgressMonitorFileItemFactory(req, fileId);
    ServletFileUpload upload = new ServletFileUpload();

    upload.setFileItemFactory(factory);

    try {
        // Parse the request

        FileItemIterator iter = upload.getItemIterator(req);
        while (iter.hasNext()) {
            FileItemStream item = iter.next();

            if (!item.isFormField()) {
                String fullName = item.getName();
                int extensionInd = fullName.lastIndexOf(".");
                String fileName = fullName.substring(0, extensionInd);
                String extension = fullName.substring(extensionInd + 1);
                InputStream stream = item.openStream();

                BusinessDTO fileDTO = clientRequest.newSecureFile(fileName, extension, stream);

                // return the vault id to the dhtmlxVault callback
                req.getSession().setAttribute("FileUpload.Progress." + fileId, fileDTO.getId());
            }
        }
    } catch (FileUploadException e) {
        throw new FileWriteExceptionDTO(e.getLocalizedMessage());
    } catch (RuntimeException e) {
        req.getSession().setAttribute("FileUpload.Progress." + fileId, "fail: " + e.getLocalizedMessage());
    }
}

From source file:com.threewks.thundr.bind.http.MultipartHttpBinder.java

void extractParameters(HttpServletRequest req, Map<String, List<String>> formFields,
        Map<String, MultipartFile> fileFields) {
    try {/*from   ww  w  .ja v a  2 s  . c o  m*/
        FileItemIterator itemIterator = upload.getItemIterator(req);
        while (itemIterator.hasNext()) {
            FileItemStream item = itemIterator.next();
            InputStream stream = item.openStream();

            String fieldName = item.getFieldName();
            if (item.isFormField()) {
                List<String> existing = formFields.get(fieldName);
                if (existing == null) {
                    existing = new LinkedList<String>();
                    formFields.put(fieldName, existing);
                }
                existing.add(Streams.readString(stream));
            } else {
                MultipartFile file = new MultipartFile(item.getName(), Streams.readBytes(stream),
                        item.getContentType());
                fileFields.put(fieldName, file);
            }
            stream.close();
        }
    } catch (Exception e) {
        throw new BindException(e, "Failed to bind multipart form data: %s", e.getMessage());
    }
}

From source file:com.northernwall.hadrian.handler.ImageHandler.java

private void updateImage(Request request, String serviceId) throws IOException, FileUploadException {
    if (!ServletFileUpload.isMultipartContent(request)) {
        logger.warn("Trying to upload image for {} but content is not multipart", serviceId);
        return;//from  w ww  . j  a v  a 2 s  .  c om
    }
    logger.info("Trying to upload image for {}", serviceId);
    ServletFileUpload upload = new ServletFileUpload();

    // Parse the request
    FileItemIterator iter = upload.getItemIterator(request);
    while (iter.hasNext()) {
        FileItemStream item = iter.next();
        if (!item.isFormField()) {
            String name = item.getName();
            name = name.replace(' ', '-').replace('&', '-').replace('<', '-').replace('>', '-')
                    .replace('/', '-').replace('\\', '-').replace('&', '-').replace('@', '-').replace('?', '-')
                    .replace('^', '-').replace('#', '-').replace('%', '-').replace('=', '-').replace('$', '-')
                    .replace('{', '-').replace('}', '-').replace('[', '-').replace(']', '-').replace('|', '-')
                    .replace(';', '-').replace(':', '-').replace('~', '-').replace('`', '-');
            dataAccess.uploadImage(serviceId, name, item.getContentType(), item.openStream());
        }
    }
}

From source file:hudson.gwtmarketplace.server.ImageUploadServlet.java

@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    ServletFileUpload upload = new ServletFileUpload();

    Map<String, String> parameters = new HashMap<String, String>();
    Image resizedImage = null;/*from  www .  j ava  2  s . c  o m*/

    try {
        // Parse the request
        FileItemIterator iter = upload.getItemIterator(request);
        while (iter.hasNext()) {
            FileItemStream item = iter.next();
            String name = item.getFieldName();
            InputStream stream = item.openStream();
            if (item.isFormField()) {
                parameters.put(name, toString(stream));
            } else {
                resizedImage = resize(stream);
            }
        }
    } catch (Exception e) {
        response.sendError(500);
    }
    String productId = parameters.get("key");
    if (null != productId && null != resizedImage) {
        try {
            String iconKey = productMgr.setImageData(Long.parseLong(productId), resizedImage.getImageData());
            if (null != iconKey) {
                response.getOutputStream().write(iconKey.getBytes());
            }
        } catch (InvalidAccessException e) {
            e.printStackTrace();
        }
    }

}