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:jhi.buntata.server.DatasourceIcon.java

@Put
public void putImage(Representation entity) {
    if (entity != null && MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) {
        try {/*ww w.  j  a  va 2  s.  c o m*/
            DiskFileItemFactory factory = new DiskFileItemFactory();
            RestletFileUpload upload = new RestletFileUpload(factory);
            FileItemIterator fileIterator = upload.getItemIterator(entity);

            if (fileIterator.hasNext()) {
                FileItemStream fi = fileIterator.next();

                String name = fi.getName();

                File file = new File(dataDir, name);

                int i = 1;
                while (file.exists())
                    file = new File(dataDir, (i++) + name);

                Files.copy(fi.openStream(), file.toPath());

                BuntataDatasource ds = dao.get(id);
                ds.setIcon(file.getName());
                dao.updateIcon(ds);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else {
        throw new ResourceException(Status.CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE);
    }
}

From source file:com.webpagebytes.cms.controllers.ExportImportController.java

public void importContent(HttpServletRequest request, HttpServletResponse response, String requestUri)
        throws WPBException {
    File tempFile = null;//ww w  .  ja  v a2 s .com
    try {
        ServletFileUpload upload = new ServletFileUpload();

        FileItemIterator iterator = upload.getItemIterator(request);
        while (iterator.hasNext()) {
            FileItemStream item = iterator.next();
            if (!item.isFormField() && item.getFieldName().equals("file")) {
                InputStream is = item.openStream();
                tempFile = File.createTempFile("wpbImport", null);
                FileOutputStream fos = new FileOutputStream(tempFile);
                IOUtils.copy(is, fos);
                fos.close();

                adminStorage.stopNotifications();
                deleteAll();

                // because the zip file entries cannot be predicted we needto import in two step1
                // step 1 when we create the resource records
                // step 2 when we import the files, pages, modules and articles content
                InputStream is1 = new FileInputStream(tempFile);
                storageExporter.importFromZipStep1(is1);
                is1.close();

                InputStream is2 = new FileInputStream(tempFile);
                storageExporter.importFromZipStep2(is2);
                is2.close();

                org.json.JSONObject returnJson = new org.json.JSONObject();
                returnJson.put(DATA, "");
                httpServletToolbox.writeBodyResponseAsJson(response, returnJson, null);
            }
        }
    } catch (Exception e) {
        Map<String, String> errors = new HashMap<String, String>();
        errors.put("", WPBErrors.WB_CANNOT_IMPORT_PROJECT);
        httpServletToolbox.writeBodyResponseAsJson(response, jsonObjectConverter.JSONObjectFromMap(null),
                errors);
    } finally {
        if (tempFile != null) {
            if (!tempFile.delete()) {
                tempFile.deleteOnExit();
            }
        }

        adminStorage.startNotifications();
    }
}

From source file:com.cognifide.aet.executor.SuiteServlet.java

private Map<String, String> getRequestData(HttpServletRequest request) {
    Map<String, String> requestData = new HashMap<>();

    ServletFileUpload upload = new ServletFileUpload();
    try {/*from   w w  w  .j  a v  a2 s  .  c o m*/
        FileItemIterator itemIterator = upload.getItemIterator(request);
        while (itemIterator.hasNext()) {
            FileItemStream item = itemIterator.next();
            InputStream itemStream = item.openStream();
            String value = Streams.asString(itemStream, CharEncoding.UTF_8);
            requestData.put(item.getFieldName(), value);
        }
    } catch (FileUploadException | IOException e) {
        LOGGER.error("Failed to process request", e);
    }

    return requestData;
}

From source file:com.vmware.photon.controller.api.frontend.resources.vm.VmIsoAttachResource.java

private Task parseIsoDataFromRequest(HttpServletRequest request, String id)
        throws InternalException, ExternalException {
    Task task = null;//  w w  w . java  2  s .com

    ServletFileUpload fileUpload = new ServletFileUpload();
    List<InputStream> dataStreams = new LinkedList<>();

    try {
        FileItemIterator iterator = fileUpload.getItemIterator(request);
        while (iterator.hasNext()) {
            FileItemStream item = iterator.next();
            if (item.isFormField()) {
                logger.warn(String.format("The parameter '%s' is unknown in attach ISO.", item.getFieldName()));
            } else {
                InputStream fileStream = item.openStream();
                dataStreams.add(fileStream);

                task = vmFeClient.attachIso(id, fileStream, item.getName());
            }
        }
    } catch (IOException ex) {
        throw new IsoUploadException("Iso upload IOException", ex);
    } catch (FileUploadException ex) {
        throw new IsoUploadException("Iso upload FileUploadException", ex);
    } finally {
        for (InputStream stream : dataStreams) {
            try {
                stream.close();
            } catch (IOException | NullPointerException ex) {
                logger.warn("Unexpected exception closing data stream.", ex);
            }
        }
    }

    if (task == null) {
        throw new IsoUploadException("There is no iso stream data in the iso upload request.");
    }

    return task;
}

From source file:br.com.ifpb.bdnc.projeto.geo.servlets.CadastraImagem.java

private Image mountImage(HttpServletRequest request) {
    Image image = new Image();
    image.setCoord(new Coordenate());
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    if (isMultipart) {
        ServletFileUpload upload = new ServletFileUpload();
        try {/*  w  w  w .jav a2 s  .  c om*/
            FileItemIterator itr = upload.getItemIterator(request);
            while (itr.hasNext()) {
                FileItemStream item = itr.next();
                if (item.isFormField()) {
                    InputStream in = item.openStream();
                    byte[] b = new byte[in.available()];
                    in.read(b);
                    if (item.getFieldName().equals("description")) {
                        image.setDescription(new String(b));
                    } else if (item.getFieldName().equals("authors")) {
                        image.setAuthors(new String(b));
                    } else if (item.getFieldName().equals("end")) {
                        image.setDate(
                                LocalDate.parse(new String(b), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                    } else if (item.getFieldName().equals("latitude")) {
                        image.getCoord().setLat(new String(b));
                    } else if (item.getFieldName().equals("longitude")) {
                        image.getCoord().setLng(new String(b));
                    } else if (item.getFieldName().equals("heading")) {
                        image.getCoord().setHeading(new String(b));
                    } else if (item.getFieldName().equals("pitch")) {
                        image.getCoord().setPitch(new String(b));
                    } else if (item.getFieldName().equals("zoom")) {
                        image.getCoord().setZoom(new String(b));
                    }
                } else {
                    if (!item.getName().equals("")) {
                        MultipartData md = new MultipartData();
                        String folder = "historicImages";
                        md.setFolder(folder);
                        String path = request.getServletContext().getRealPath("/");
                        System.out.println(path);
                        String nameToSave = "pubImage" + Calendar.getInstance().getTimeInMillis()
                                + item.getName();
                        image.setImagePath(folder + "/" + nameToSave);
                        md.saveImage(path, item, nameToSave);
                        String imageMinPath = folder + "/" + "min" + nameToSave;
                        RedimencionadorImagem.resize(path, folder + "/" + nameToSave,
                                path + "/" + imageMinPath.toString(), IMAGE_MIN_WIDTH, IMAGE_MIM_HEIGHT);
                        image.setMinImagePath(imageMinPath);
                    }
                }
            }
        } catch (FileUploadException | IOException ex) {
            System.out.println("Erro ao manipular dados");
        }
    }
    return image;
}

From source file:fedora.server.management.UploadServlet.java

/**
 * The servlet entry point. http://host:port/fedora/management/upload
 *//* w w  w  .  j  av a  2s .  c o  m*/
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Context context = ReadOnlyContext.getContext(Constants.HTTP_REQUEST.REST.uri, request);
    try {
        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload();

        // Parse the request, looking for "file"
        InputStream in = null;
        FileItemIterator iter = upload.getItemIterator(request);
        while (in == null && iter.hasNext()) {
            FileItemStream item = iter.next();
            LOG.info("Got next item: isFormField=" + item.isFormField() + " fieldName=" + item.getFieldName());
            if (!item.isFormField() && item.getFieldName().equals("file")) {
                in = item.openStream();
            }
        }
        if (in == null) {
            sendResponse(HttpServletResponse.SC_BAD_REQUEST, "No data sent.", response);
        } else {
            sendResponse(HttpServletResponse.SC_CREATED, s_management.putTempStream(context, in), response);
        }
    } catch (AuthzException ae) {
        throw RootException.getServletException(ae, request, "Upload", new String[0]);
    } catch (Exception e) {
        e.printStackTrace();
        sendResponse(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
                e.getClass().getName() + ": " + e.getMessage(), response);
    }
}

From source file:ee.jaaaar.dreamestate.core.StreamingMultipartResolver.java

@Override
public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException {

    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload();
    upload.setFileSizeMax(maxUploadSize);

    String encoding = determineEncoding(request);

    Map<String, String[]> multipartParameters = new HashMap<String, String[]>();

    MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>();

    // Parse the request
    try {//from w  w w  .j a v a  2  s  . c  o m
        FileItemIterator iter = upload.getItemIterator(request);
        while (iter.hasNext()) {
            FileItemStream item = iter.next();

            String name = item.getFieldName();
            InputStream stream = item.openStream();
            if (item.isFormField()) {

                String value = Streams.asString(stream, encoding);

                String[] curParam = (String[]) multipartParameters.get(name);
                if (curParam == null) {
                    // simple form field
                    multipartParameters.put(name, new String[] { value });
                } else {
                    // array of simple form fields
                    String[] newParam = StringUtils.addStringToArray(curParam, value);
                    multipartParameters.put(name, newParam);
                }
            } else {
                // Process the input stream
                MultipartFile file = new StreamingMultipartFile(item);
                multipartFiles.add(name, file);
            }
        }
    } catch (IOException e) {
        throw new MultipartException("something went wrong here", e);
    } catch (FileUploadException e) {
        throw new MultipartException("something went wrong here", e);
    }

    return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParameters);
}

From source file:jhi.buntata.server.NodeMedia.java

@Put
public boolean putMedia(Representation entity) {
    if (entity != null && MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) {
        try {/*from ww  w.ja  v a 2 s .co  m*/
            BuntataNode node = nodeDAO.get(id);

            DiskFileItemFactory factory = new DiskFileItemFactory();
            RestletFileUpload upload = new RestletFileUpload(factory);
            FileItemIterator fileIterator = upload.getItemIterator(entity);

            if (fileIterator.hasNext()) {
                String nodeName = node.getName().replace(" ", "-");
                File dir = new File(dataDir, nodeName);
                dir.mkdirs();

                FileItemStream fi = fileIterator.next();

                String name = fi.getName();

                File file = new File(dir, name);

                int i = 1;
                while (file.exists())
                    file = new File(dir, (i++) + name);

                // Copy the file to its target location
                Files.copy(fi.openStream(), file.toPath());

                // Create the media entity
                String relativePath = new File(dataDir).toURI().relativize(file.toURI()).getPath();
                BuntataMedia media = new BuntataMedia(null, new Date(), new Date())
                        .setInternalLink(relativePath).setName(name).setDescription(name).setMediaTypeId(1L);
                mediaDAO.add(media);

                // Create the node media entity
                nodeMediaDAO.add(new BuntataNodeMedia().setMediaId(media.getId()).setNodeId(node.getId()));

                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else {
        throw new ResourceException(Status.CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE);
    }

    return false;
}

From source file:edu.morgan.server.UploadFile.java

@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, java.io.IOException {
    // Check that we have a file upload request
    RequestDispatcher rd;//from   w ww .j  av a 2s.  c om
    response.setContentType("text/html");

    isMultipart = ServletFileUpload.isMultipartContent(request);
    if (!isMultipart) {
        rd = request.getRequestDispatcher("fail.jsp");
        rd.forward(request, response);
    }

    try {
        ServletFileUpload upload = new ServletFileUpload();
        response.setContentType("text/plain");

        FileItemIterator iterator = upload.getItemIterator(request);
        while (iterator.hasNext()) {
            FileItemStream item = iterator.next();
            InputStream stream = item.openStream();
            this.read(stream);
        }
        request.removeAttribute("incompleteStudents");
        request.setAttribute("incompleteStudents", studentList);

        rd = request.getRequestDispatcher("Success");
        rd.forward(request, response);

    } catch (Exception ex) {
        throw new ServletException(ex);
    }

}

From source file:com.google.appinventor.server.UploadServlet.java

private InputStream getRequestStream(HttpServletRequest req, String expectedFieldName) throws Exception {
    ServletFileUpload upload = new ServletFileUpload();
    FileItemIterator iterator = upload.getItemIterator(req);
    while (iterator.hasNext()) {
        FileItemStream item = iterator.next();
        if (item.getFieldName().equals(expectedFieldName)) {
            return item.openStream();
        }// www .j  av  a 2s. c o  m
    }

    throw new IllegalArgumentException("Field " + expectedFieldName + " not found in upload");
}