Example usage for org.apache.commons.fileupload FileItem getContentType

List of usage examples for org.apache.commons.fileupload FileItem getContentType

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileItem getContentType.

Prototype

String getContentType();

Source Link

Document

Returns the content type passed by the browser or null if not defined.

Usage

From source file:msec.org.FileUploadServlet.java

static protected String FileUpload(Map<String, String> fields, List<String> filesOnServer,
        HttpServletRequest request, HttpServletResponse response) {

    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    // Create a factory for disk-based file items
    DiskFileItemFactory factory = new DiskFileItemFactory();
    int MaxMemorySize = 10000000;
    int MaxRequestSize = MaxMemorySize;
    String tmpDir = System.getProperty("TMP", "/tmp");
    //System.out.printf("temporary directory:%s", tmpDir);

    // Set factory constraints
    factory.setSizeThreshold(MaxMemorySize);
    factory.setRepository(new File(tmpDir));

    // Create a new file upload handler
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setHeaderEncoding("utf8");

    // Set overall request size constraint
    upload.setSizeMax(MaxRequestSize);/*from   ww w.  ja va 2s. c  o  m*/

    // Parse the request
    try {
        @SuppressWarnings("unchecked")
        List<FileItem> items = upload.parseRequest(request);
        // Process the uploaded items
        Iterator<FileItem> iter = items.iterator();
        while (iter.hasNext()) {
            FileItem item = iter.next();
            if (item.isFormField()) {//k -v

                String name = item.getFieldName();
                String value = item.getString("utf-8");
                fields.put(name, value);
            } else {

                String fieldName = item.getFieldName();
                String fileName = item.getName();
                if (fileName == null || fileName.length() < 1) {
                    return "file name is empty.";
                }
                String localFileName = ServletConfig.fileServerRootDir + File.separator + "tmp" + File.separator
                        + fileName;
                //System.out.printf("upload file:%s", localFileName);
                String contentType = item.getContentType();
                boolean isInMemory = item.isInMemory();
                long sizeInBytes = item.getSize();
                File uploadedFile = new File(localFileName);
                item.write(uploadedFile);
                filesOnServer.add(localFileName);
            }

        }
        return "success";
    } catch (FileUploadException e) {
        e.printStackTrace();
        return e.toString();
    } catch (Exception e) {
        e.printStackTrace();
        return e.toString();
    }

}

From source file:com.tern.web.FileData.java

FileData(FileItem item) {
    this.fileName = item.getName();
    this.type = item.getContentType();
    this.data = item.get();

    if (fileName != null) {
        int i = fileName.lastIndexOf("/");
        if (i > 0) {
            fileName = fileName.substring(i + 1);
        } else {/*  w  ww  . j a  v a2 s  . c  o m*/
            i = fileName.lastIndexOf("\\");
            if (i > 0) {
                fileName = fileName.substring(i + 1);
            }
        }
    }

    this.item = item;
}

From source file:inet.util.FileStorage.java

public List<File> storage(String key) throws Exception {

    List<FileItem> fileItems = multipartRequest.getFileItems(key);
    List<File> files = new ArrayList<File>();
    File file;/*from   ww w. j  av a 2  s  .co m*/
    if (fileItems != null) {
        for (FileItem fileItem : fileItems) {
            if (fileItem == null || fileItem.getContentType().equals("application/octet-stream")) {
                return null;
            } else {
                file = new File();
                int read = 0;
                byte[] bytes = new byte[1024];

                String fileName = targe + System.currentTimeMillis() + fileItem.getName();
                String realFile = realPath + fileName;

                OutputStream outputStream = new FileOutputStream(realFile);
                InputStream inputStream = fileItem.getInputStream();

                while ((read = inputStream.read(bytes)) != -1) {
                    outputStream.write(bytes, 0, read);
                }

                outputStream.close();
                inputStream.close();
                file.setUrl(realUri + fileName);
            }
            files.add(file);
        }
        return files;
    } else {
        return null;
    }
}

From source file:com.cloudera.oryx.app.serving.kmeans.Assign.java

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({ MediaType.TEXT_PLAIN, CSVMessageBodyWriter.TEXT_CSV, MediaType.APPLICATION_JSON })
public List<String> post(@Context HttpServletRequest request) throws IOException, OryxServingException {
    List<String> result = new ArrayList<>();
    for (FileItem item : parseMultipart(request)) {
        InputStream in = maybeDecompress(item.getContentType(), item.getInputStream());
        try (BufferedReader reader = maybeBuffer(new InputStreamReader(in, StandardCharsets.UTF_8))) {
            result.addAll(doPost(reader));
        }//w ww .ja v a  2 s .c  om
    }
    return result;
}

From source file:com.cloudera.oryx.app.serving.als.Ingest.java

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void post(@Context HttpServletRequest request) throws IOException, OryxServingException {
    for (FileItem item : parseMultipart(request)) {
        InputStream in = maybeDecompress(item.getContentType(), item.getInputStream());
        try (BufferedReader reader = maybeBuffer(new InputStreamReader(in, StandardCharsets.UTF_8))) {
            doPost(reader);/*from www .  j a  v  a2s  .c om*/
        }
    }
}

From source file:com.cloudera.oryx.ml.serving.als.Ingest.java

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void post(@Context HttpServletRequest request)
        throws IOException, FileUploadException, OryxServingException {
    // JAX-RS does not by itself support multipart form data yet, so doing it manually.
    // We'd use Servlet 3.0 but the Grizzly test harness doesn't let us test it :(
    // Good old Commons FileUpload it is:
    List<FileItem> fileItems = new ServletFileUpload(fileItemFactory).parseRequest(request);
    check(!fileItems.isEmpty(), "No parts");
    for (FileItem item : fileItems) {
        InputStream in = maybeDecompress(item.getContentType(), item.getInputStream());
        doPost(new BufferedReader(new InputStreamReader(in, StandardCharsets.UTF_8)));
    }/*from  ww w.ja v a  2s  .  co  m*/
}

From source file:azkaban.web.JobManagerServlet.java

private File extractFile(FileItem item) throws IOException, ServletException {
    final String contentType = item.getContentType();
    if (contentType.startsWith("application/zip")) {
        return unzipFile(item);
    }//from www.j  a v  a2 s .  c  o  m

    if (contentType.startsWith("application/x-tar")) {
        return untarFile(item);
    }

    throw new ServletException(String.format("Unsupported file type[%s].", contentType));
}

From source file:by.creepid.jsf.fileupload.UploadedFile.java

public UploadedFile(FileItem fileItem, String longFileName, String shortFileName) {
    fileName = fileItem.getName();// w  w w.j  a va 2s  .  co m
    contentType = fileItem.getContentType();
    fileSize = fileItem.getSize();
    fileContent = fileItem.getString();
    this.shortFileName = shortFileName;
    this.longFileName = longFileName;

    try {
        inputStream = fileItem.getInputStream();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:com.pamarin.servlet.uploadfile.UploadFileServet.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    LOG.log(Level.INFO, "uploaded");

    try {/*from  w  w  w .ja v  a2  s .com*/
        if (!ServletFileUpload.isMultipartContent(request)) {
            return;
        }

        LOG.log(Level.INFO, "is multipart");
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(maxMemSize);
        factory.setRepository(new File("c:\\temp"));
        //
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(maxFileSize);

        List<FileItem> fileItems = upload.parseRequest(request);
        Iterator<FileItem> iterator = fileItems.iterator();

        LOG.log(Level.INFO, "file size --> {0}", fileItems.size());
        while (iterator.hasNext()) {
            FileItem item = iterator.next();
            //if (!item.isFormField()) {
            LOG.log(Level.INFO, "content type --> {0}", item.getContentType());
            LOG.log(Level.INFO, "name --> {0}", item.getName());
            LOG.log(Level.INFO, "field name --> {0}", item.getFieldName());
            LOG.log(Level.INFO, "string --> {0}", item.getString());

            item.write(new File("c:\\temp", UUID.randomUUID().toString() + ".png"));
            //}
        }
    } catch (FileUploadException ex) {
        LOG.log(Level.WARNING, ex.getMessage());
    } catch (Exception ex) {
        LOG.log(Level.WARNING, ex.getMessage());
    }
}

From source file:com.ikon.servlet.WorkflowRegisterServlet.java

@SuppressWarnings("unchecked")
private String handleRequest(HttpServletRequest request) throws FileUploadException, IOException, Exception {
    log.debug("handleRequest({})", request);

    if (ServletFileUpload.isMultipartContent(request)) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        List<FileItem> items = upload.parseRequest(request);

        if (items.isEmpty()) {
            String msg = "No process file in the request";
            log.warn(msg);//www  .  j a va  2s .  c o  m
            return msg;
        } else {
            FileItem fileItem = (FileItem) items.get(0);

            if (fileItem.getContentType().indexOf("application/x-zip-compressed") == -1) {
                String msg = "Not a process archive";
                log.warn(msg);
                throw new Exception(msg);
            } else {
                log.info("Deploying process archive: {}", fileItem.getName());
                JbpmContext jbpmContext = JBPMUtils.getConfig().createJbpmContext();
                InputStream isForms = null;
                ZipInputStream zis = null;

                try {
                    zis = new ZipInputStream(fileItem.getInputStream());
                    ProcessDefinition processDefinition = ProcessDefinition.parseParZipInputStream(zis);

                    // Check XML form definition
                    FileDefinition fileDef = processDefinition.getFileDefinition();
                    isForms = fileDef.getInputStream("forms.xml");
                    FormUtils.parseWorkflowForms(isForms);

                    log.debug("Created a processdefinition: {}", processDefinition.getName());
                    jbpmContext.deployProcessDefinition(processDefinition);
                    return "Process " + processDefinition.getName() + " deployed successfully";
                } finally {
                    IOUtils.closeQuietly(isForms);
                    IOUtils.closeQuietly(zis);
                    jbpmContext.close();
                }
            }
        }
    } else {
        log.warn("Not a multipart request");
        return "Not a multipart request";
    }
}