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:com.mobiaware.util.UploadHelpers.java

public static File createUploadFile(final HttpServletRequest request) {
    DiskFileItemFactory fileItemFactory = new DiskFileItemFactory();
    fileItemFactory.setSizeThreshold(THRESHOLD_SIZE);
    fileItemFactory.setRepository(FileUtils.getTempDirectory());

    ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);
    servletFileUpload.setFileSizeMax(MAX_FILE_SIZE);
    servletFileUpload.setSizeMax(REQUEST_SIZE);

    File file = null;//from  w  w w. j av  a 2 s  . c o m

    try {
        FileItemIterator fileItemIterator = servletFileUpload.getItemIterator(request);
        while (fileItemIterator.hasNext()) {
            FileItemStream fileItem = fileItemIterator.next();

            if (fileItem.isFormField()) {
                // ignore
            } else {
                file = File.createTempFile("liim_", null);

                InputStream is = new BufferedInputStream(fileItem.openStream());
                FileUtils.copyInputStreamToFile(is, file);
            }
        }
    } catch (IOException e) {
        LOG.error(Throwables.getStackTraceAsString(e));
    } catch (FileUploadException e) {
        LOG.error(Throwables.getStackTraceAsString(e));
    }

    return file;
}

From source file:de.egore911.opengate.FileuploadServletRequest.java

public static FileuploadServletRequest wrap(HttpServletRequest req, User user)
        throws ServletException, IOException {
    if (req.getContentType().toLowerCase(Locale.ENGLISH).startsWith(FileUploadBase.MULTIPART)) {
        Map<String, Object> parameters = new HashMap<String, Object>();
        Map<String, List<String>> parameterValues = new HashMap<String, List<String>>();
        ServletFileUpload upload = new ServletFileUpload();
        try {/*from   ww  w.ja  va 2 s.c om*/
            FileItemIterator iter = upload.getItemIterator(req);
            while (iter.hasNext()) {
                FileItemStream stream = iter.next();
                InputStream s = stream.openStream();
                try {
                    String fieldName = stream.getFieldName();
                    if (stream.isFormField()) {
                        if (parameters.containsKey(fieldName)) {
                            if (!parameterValues.containsKey(fieldName)) {
                                parameterValues.put(fieldName, new ArrayList<String>());
                                parameterValues.get(fieldName).add((String) parameters.get(fieldName));
                            }
                            parameterValues.get(fieldName).add(IOUtils.toString(s));
                        } else {
                            parameters.put(fieldName, IOUtils.toString(s));
                        }
                    } else {
                        byte[] byteArray = IOUtils.toByteArray(s);
                        if (byteArray.length > 0) {
                            BinaryData binaryData = new BinaryData();
                            binaryData.setData(new Blob(byteArray));
                            binaryData.setMimetype(stream.getContentType());
                            binaryData.setFilename(stream.getName());
                            binaryData.setSize(byteArray.length);
                            AbstractEntity.setCreated(binaryData, user);
                            parameters.put(fieldName, binaryData);
                        }
                    }
                } finally {
                    s.close();
                }
            }
        } catch (FileUploadException e) {
            throw new ServletException(e);
        }
        return new FileuploadServletRequest(parameters, parameterValues);
    } else {
        return new FileuploadServletRequest(req);
    }
}

From source file:io.kloudwork.util.MultipartFormHandler.java

public static MultipartParamHolder handle(Request request) throws IOException, FileUploadException {
    if (!ServletFileUpload.isMultipartContent(request.raw())) {
        return parseContent(request);
    }/*from w w  w . ja v  a  2  s .  c  o  m*/
    ServletFileUpload servletFileUpload = new ServletFileUpload();
    FileItemIterator iterator = servletFileUpload.getItemIterator(request.raw());

    Map<String, String> postParameters = new HashMap<>();
    Map<String, FileItemStream> files = new HashMap<>();

    while (iterator.hasNext()) {
        FileItemStream fileItem = iterator.next();
        if (fileItem.isFormField()) {
            try (InputStream is = fileItem.openStream()) {
                postParameters.put(fileItem.getFieldName(), Streams.asString(is));
            }
        } else {
            files.put(fileItem.getFieldName(), fileItem);
        }
    }

    if (files.isEmpty()) {
        return new MultipartParamHolder(postParameters);
    }

    return new MultipartParamHolder(postParameters, files);
}

From source file:com.google.enterprise.adaptor.experimental.Sim.java

static Map<String, byte[]> splitMultipartRequest(RequestContext req) throws IOException {
    Map<String, byte[]> parts = new HashMap<String, byte[]>();
    try {/*  w  w w .jav  a2  s . c  o  m*/
        FileUpload upload = new FileUpload();
        FileItemIterator iterator = upload.getItemIterator(req);
        while (iterator.hasNext()) {
            FileItemStream item = iterator.next();
            String field = item.getFieldName();
            byte value[] = IOHelper.readInputStreamToByteArray(item.openStream());
            parts.put(field, value);
        }
        return parts;
    } catch (FileUploadException e) {
        throw new IOException("caught FileUploadException", e);
    }
}

From source file:com.serli.chell.framework.upload.FileUploadStatus.java

public static FileUploadStatus fromRequest(ActionRequest request, FormStructure structure) {
    request = new EncodedActionRequest(request);
    FileUploadStatus fus = new FileUploadStatus();
    try {/*from  w  w  w.j a  va  2 s.  c o  m*/
        PortletFileUpload upload = new PortletFileUpload();
        FileItemIterator fiit = upload.getItemIterator(request);
        String encoding = request.getCharacterEncoding();
        FormField formField;
        FileItemStream fis;
        String fieldName;
        while (fiit.hasNext()) {
            fis = fiit.next();
            fieldName = fis.getFieldName();
            formField = structure.getField(fieldName);
            if (formField != null) {
                fus.parameterNames.add(fieldName);
                if (fis.isFormField()) {
                    fus.addFormFieldParameter(fis, fieldName, encoding);
                } else {
                    fus.addFileUploadParameter(fis, fieldName, encoding, formField);
                }
            }
        }
        return fus;
    } catch (FileUploadException ex) {
        throw new ChellException("Can not parse upload request.", ex);
    } catch (IOException ex) {
        throw new ChellException("Network error.", ex);
    }
}

From source file:edu.stanford.epad.epadws.handlers.HandlerUtil.java

public static List<File> extractFiles(FileItemIterator fileItemIterator, String prefix, String extension)
        throws FileUploadException, IOException, FileNotFoundException {
    List<File> files = new ArrayList<>();
    int sliceCount = 0;
    while (fileItemIterator.hasNext()) {
        FileItemStream fileItemStream = fileItemIterator.next();
        InputStream inputStream = fileItemStream.openStream();
        File temporaryFile = File.createTempFile(prefix + sliceCount + "_", extension);
        FileOutputStream fos = null;
        files.add(temporaryFile);/*w  ww . j  a  v  a  2 s .c  om*/
        try {
            int len;
            byte[] buffer = new byte[32768];
            fos = new FileOutputStream(temporaryFile);
            while ((len = inputStream.read(buffer, 0, buffer.length)) != -1) {
                fos.write(buffer, 0, len);
            }
        } finally {
            IOUtils.closeQuietly(inputStream);
            IOUtils.closeQuietly(fos);
        }
    }
    return files;
}

From source file:com.elit2.app.control.FileUpload.java

public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
    response.setContentType("text/html");
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    if (isMultipart) {
        ServletFileUpload upload = new ServletFileUpload();
        try {/*from w w  w  .  j  a  v a 2s. com*/
            FileItemIterator itr = upload.getItemIterator(request);
            while (itr.hasNext()) {
                FileItemStream item = itr.next();
                if (item.isFormField()) {
                    String fieldName = item.getFieldName();
                    InputStream is = item.openStream();
                    byte[] b = new byte[is.available()];
                    is.read(b);
                    String value = new String(b);
                    response.getWriter().println(fieldName + ":" + value + "<br/>");
                } else {
                    String path = getServletContext().getRealPath("/");
                    if (com.elit2.app.model.FileUpload.proccessFile(path, item)) {
                        response.getWriter().print("Deu certo");
                    } else {
                        response.getWriter().print("Deu errado");
                    }
                }
            }
        } catch (FileUploadException ex) {
            ex.printStackTrace();
        }
    }
}

From source file:de.elatexam.UploadTaskdefServlet.java

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    UserService userService = UserServiceFactory.getUserService();
    if (!userService.isUserLoggedIn()) {
        resp.sendRedirect("/");
    } else {//from  w  ww.jav a 2 s .c o m
        try {
            ServletFileUpload upload = new ServletFileUpload();

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

                long handle = System.nanoTime();
                DataStoreTaskFactory.getInstance().storeTaskDef(item.openStream(), handle,
                        userService.getCurrentUser());
            }
        } catch (Exception ex) {
            throw new ServletException(ex);
        }
        resp.sendRedirect("/");
    }

}

From source file:eu.cloud4soa.frontend.upload.ApplicationArtifactUpload.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    ServletFileUpload upload = new ServletFileUpload();

    try {/*from w  w  w  .  jav  a2s.  c  om*/
        FileItemIterator fileItemIterator = upload.getItemIterator(request);

        while (fileItemIterator.hasNext()) {
            FileItemStream item = fileItemIterator.next();
            artifactsHolder.addFileItem(item.getFieldName(), item.openStream());
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }

}

From source file:net.catchpole.silicone.servlet.InputLoader.java

private InputStream getInputStreamActual() throws IOException {
    if (ServletFileUpload.isMultipartContent(httpServletRequest)) {
        try {/*ww w .ja  v  a 2 s . c o  m*/
            ServletFileUpload upload = new ServletFileUpload();
            FileItemIterator fileItemIterator = upload.getItemIterator(httpServletRequest);
            while (fileItemIterator.hasNext()) {
                FileItemStream item = fileItemIterator.next();
                if (!item.isFormField()) {
                    return item.openStream();
                }
            }
        } catch (FileUploadException fe) {
            throw new RuntimeException(fe);
        }
    } else {
        return httpServletRequest.getInputStream();
    }
    return null;
}