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

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

Introduction

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

Prototype

FileItemStream next() throws FileUploadException, IOException;

Source Link

Document

Returns the next available FileItemStream .

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;/*  www  . 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  w  w w .ja  va  2  s.  c o  m*/
            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);
    }/*  w  ww .  ja v a2 s. c om*/
    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 {//from  w w w.j a  v a2  s  . co  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   www .  jav  a 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 w  w . j a  va  2 s  .c  o m
        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.example.controller.ImageController.java

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String save(HttpServletRequest req, HttpServletResponse res, HttpSession session)
        throws IOException, FileUploadException, ClassNotFoundException, SQLException {

    // Get the image representation
    ServletFileUpload upload = new ServletFileUpload();
    FileItemIterator iter = upload.getItemIterator(req);
    FileItemStream imageItem = iter.next();
    InputStream imgStream = imageItem.openStream();

    // construct our entity objects
    Blob imageBlob = new Blob(IOUtils.toByteArray(imgStream));
    MyImages myImage = new MyImages(imageBlob);

    // persist image
    Users us = (Users) session.getAttribute("user");
    String user = us.getUsername();
    if (MyImageDao.getImage(user) != null) {
        MyImageDao.updateImage(user, imageBlob);
        return "profile";
    } else {/* www .j a  v a 2  s. c o m*/
        MyImageDao.addImage(user, myImage);
    }
    // respond to query
    return "Home";
}

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 {/* ww  w.ja  v  a 2s. c o  m*/
            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 w w . jav  a2 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.  j  av a  2  s.  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);
    }

}