Example usage for org.apache.commons.fileupload FileItemStream getFieldName

List of usage examples for org.apache.commons.fileupload FileItemStream getFieldName

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileItemStream getFieldName.

Prototype

String getFieldName();

Source Link

Document

Returns the name of the field in the multipart form corresponding to this file item.

Usage

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 ww.jav  a  2  s  .com*/
    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: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 {/*w  ww.  j  av  a 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: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   www  . j ava 2s.  com*/
        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   ww  w  . ja  v a2s .  co  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: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//from w w  w .  j  av a2s  .co  m
        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:eu.cloud4soa.frontend.upload.ApplicationArtifactUpload.java

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

    try {//  w  ww  .  ja  va  2s  .  co m
        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:io.lightlink.servlet.MultipartParameters.java

private void parseUpToNextStream() throws FileUploadException, IOException {
    while (fileItemIterator.hasNext()) {
        FileItemStream fItemStream = fileItemIterator.next();
        String name = fItemStream.getFieldName();
        if (fItemStream.isFormField()) {
            paramsMap.put(name, Streams.asString(fItemStream.openStream()));
        } else {//from  ww w  . ja v a2 s. com
            this.fileItemStream = fItemStream;
            break; // returns and waits while the the stream is consumed
        }
    }
}

From source file:com.github.terma.gigaspacewebconsole.server.ImportServlet.java

private void safeDoPost(final HttpServletRequest request) throws Exception {
    final ServletFileUpload upload = new ServletFileUpload();
    final FileItemIterator iterator = upload.getItemIterator(request);

    ImportRequest importRequest = null;/*from   w  w  w.  ja  v  a 2s .  c o m*/
    String inputFile = null;
    InputStream inputStream = null;

    while (iterator.hasNext()) {
        final FileItemStream item = iterator.next();
        final String name = item.getFieldName();
        final InputStream stream = item.openStream();

        if (item.isFormField()) {
            if ("json".equals(name)) {
                importRequest = gson.fromJson(Streams.asString(stream), ImportRequest.class);
            }
        } else {
            inputFile = item.getName();
            inputStream = stream;
            break;
        }
    }

    if (importRequest == null)
        throw new IOException("Expect 'json' parameter!");
    if (inputStream == null)
        throw new IOException("Expect file to import!");

    importRequest.file = inputFile;
    ProviderResolver.getProvider(importRequest.driver).import1(importRequest, inputStream);
}

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   w w  w.  j a  v a2  s .c o 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:com.woonoz.proxy.servlet.HttpEntityEnclosingRequestHandler.java

private ContentBody buildContentBodyFromFileItem(FileItemStream fileItem) throws IOException {
    final String partName = fileItem.getFieldName();
    final String contentType = getContentTypeForFileItem(fileItem);
    return new InputStreamBody(BufferOnCreateInputStream.create(fileItem.openStream()), contentType, partName);
}