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

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

Introduction

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

Prototype

InputStream getInputStream() throws IOException;

Source Link

Document

Returns an java.io.InputStream InputStream that can be used to retrieve the contents of the file.

Usage

From source file:org.axe.helper.mvc.FormRequestHelper.java

/**
 * /* w w w.j  av  a2 s. co  m*/
 */
public static void initParam(Param param, HttpServletRequest request, String requestPath, String mappingPath) {
    List<FormParam> formParamList = new ArrayList<>();
    List<FileParam> fileParamList = new ArrayList<>();
    try {
        //????
        Map<String, List<FileItem>> fileItemListMap = servletFileUpload.parseParameterMap(request);
        if (CollectionUtil.isNotEmpty(fileItemListMap)) {
            for (Map.Entry<String, List<FileItem>> fileItemListEntry : fileItemListMap.entrySet()) {
                String fieldName = fileItemListEntry.getKey();
                List<FileItem> fileItemList = fileItemListEntry.getValue();
                if (CollectionUtil.isNotEmpty(fileItemList)) {
                    for (FileItem fileItem : fileItemList) {
                        if (fileItem.isFormField()) {
                            String fieldValue = fileItem.getString("UTF-8");
                            formParamList.add(new FormParam(fieldName, fieldValue));
                        } else {
                            String fileName = FileUtil
                                    .getRealFileName(new String(fileItem.getName().getBytes(), "UTF-8"));
                            if (StringUtil.isNotEmpty(fileName)) {
                                long fileSize = fileItem.getSize();
                                String contentType = fileItem.getContentType();
                                InputStream inputStream = fileItem.getInputStream();
                                fileParamList.add(
                                        new FileParam(fieldName, fileName, fileSize, contentType, inputStream));
                            }
                        }
                    }
                }
            }
        }

        //?url?
        formParamList.addAll(RequestUtil.parseParameter(request, requestPath, mappingPath));
    } catch (Exception e) {
        LOGGER.error("create param failed", e);
        throw new RuntimeException(e);
    }
    param.init(null, formParamList, fileParamList, null);
}

From source file:org.bonitasoft.console.common.themes.ThemeUploadServlet.java

@SuppressWarnings("unchecked")
public void doPost(final HttpServletRequest request, final HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    final PrintWriter responsePW = response.getWriter();
    try {/*from  w w w .j  a  va  2 s.c o m*/
        if (!ServletFileUpload.isMultipartContent(request)) {
            final String theErrorMessage = "Error while using the servlet ThemeUploadServlet to upload theme,it is not MultipartContent";
            if (LOGGER.isLoggable(Level.SEVERE)) {
                LOGGER.log(Level.SEVERE, theErrorMessage);
            }
            throw new ServletException(theErrorMessage);
        }
        final FileItemFactory fileItemFactory = new DiskFileItemFactory();
        final ServletFileUpload serviceFileUpload = new ServletFileUpload(fileItemFactory);
        final List<FileItem> items = (List<FileItem>) serviceFileUpload.parseRequest(request);
        for (final Iterator<FileItem> i = items.iterator(); i.hasNext();) {
            final FileItem item = (FileItem) i.next();
            if (item.isFormField()) {
                continue;
            }
            final String fileName = item.getName();

            String themeTempPath = getCommonTempFolder() + File.separator + fileName;
            File uploadedFile = new File(themeTempPath);
            int suffix = 0;
            while (uploadedFile.exists()) {
                uploadedFile = new File(getCommonTempFolder(), fileName + "." + suffix);
                suffix++;
            }
            themeTempPath = uploadedFile.getAbsolutePath();
            // extract ZIP file
            UnZIPUtil.unzip(item.getInputStream(), themeTempPath);
            if (LOGGER.isLoggable(Level.FINE)) {
                LOGGER.log(Level.FINE, "uploaded File Path: " + themeTempPath);
            }
            final String encodedUploadedFilePath = URLEncoder.encode(themeTempPath, "UTF-8");
            responsePW.print(encodedUploadedFilePath);
            responsePW.close();
        }
    } catch (final Exception e) {
        final String theErrorMessage = "Error while using the servlet ThemeUploadServlet to upload theme.";
        if (LOGGER.isLoggable(Level.SEVERE)) {
            LOGGER.log(Level.SEVERE, theErrorMessage, e);
        }
        throw new ServletException(theErrorMessage, e);
    }
}

From source file:org.carcv.web.servlet.UploadServlet.java

/**
 * @param request the HttpServletRequest
 * @param response the HttpServletResponse
 * @throws IOException/*  ww w  .  ja v  a 2s .co  m*/
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException {
    Path batchDir = storageBean.createBatchDirectory();

    ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory());
    List<FileItem> items;
    try {
        items = servletFileUpload.parseRequest(request);
    } catch (FileUploadException e) {
        response.sendError(500, e.getMessage());
        e.printStackTrace();
        return;
    }

    for (FileItem item : items) {
        if (item.isFormField()) {
            // ignore regular form fields
        } else {
            // process files

            String fileName = FilenameUtils.getName(item.getName());
            InputStream fileContent = item.getInputStream();

            storageBean.storeToDirectory(fileContent, fileName, batchDir);
        }
    }

    Path infoProps = Paths.get(batchDir.toString(), DirectoryLoader.infoFileName);
    if (!Files.exists(infoProps)) { // if the info file wasn't uploaded, generate a random demo one
        Properties demo = Main.createDemoProperties();
        Path props = Paths.get(batchDir.toString(), DirectoryLoader.infoFileName);
        demo.store(Files.newOutputStream(props), "Demo properties");
    }
}

From source file:org.carrot2.dcs.RestProcessorServlet.java

/**
 * Handle multipart request, possibly including dcs.c2stream. 
 *//*from  w  w  w  .  java 2  s.c  o  m*/
@SuppressWarnings("unchecked")
private void handleMultiPart(HttpServletRequest request, HttpServletResponse response) throws IOException {
    final Map<String, Object> parameters = Maps.newHashMap();
    ProcessingResult input = null;

    final ServletFileUpload upload = new ServletFileUpload(new MemoryFileItemFactory());
    final List<FileItem> items;
    try {
        items = upload.parseRequest(request);
    } catch (FileUploadException e1) {
        sendBadRequest("Could not parse multipart/form-data", response, e1);
        return;
    }

    // Extract uploaded data and other parameters
    for (FileItem fileItem : items) {
        final String fieldName = fileItem.getFieldName();
        if (DCS_C2STREAM.equals(fieldName)) {
            final InputStream uploadInputStream;
            if (fileItem.isFormField()) {
                uploadInputStream = new ByteArrayInputStream(fileItem.get());
            } else {
                uploadInputStream = fileItem.getInputStream();
            }

            // Deserialize documents from the stream
            try {
                input = ProcessingResult.deserialize(uploadInputStream);
            } catch (Exception e) {
                sendBadRequest("Could not parse Carrot2 XML stream", response, e);
                return;
            } finally {
                CloseableUtils.close(uploadInputStream);
            }
        } else if (fileItem.isFormField()) {
            parameters.put(fieldName, fileItem.getString());
        }
    }

    processRequest(response, input, parameters);
}

From source file:org.castafiore.web.servlet.CastafioreServlet.java

/**
 * handles upload made by EXUpload component
 * @param request// www  . j  a  v a  2  s.  c  o  m
 * @param response
 * @throws ServletException
 */
private void handleMultipartRequest(HttpServletRequest request, ServletResponse response)
        throws ServletException {
    //logger.debug("handling multipart request. A file is being uploaded....");
    try {
        Map pro = BaseSpringUtil.getBean("uploadprops");

        ServletFileUpload upload = new ServletFileUpload(
                new DiskFileItemFactory(1024, new File(pro.get("repository.dir").toString())));

        // set file upload progress listener
        FileUploadListener listener = new FileUploadListener();

        HttpSession session = request.getSession();

        session.setAttribute("LISTENER", listener);

        // upload servlet allows to set upload listener
        upload.setProgressListener(listener);

        Iterator iter = upload.parseRequest(request).iterator();
        //FileItemIterator iter = upload.getItemIterator(request);
        String applicationId = null;
        String componentId = null;
        EXUpload exUpload = null;
        Application applicationInstance = null;
        List<FileData> ds = new ArrayList<FileData>();
        //String name = null;
        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();

            if (item.isFormField()) {
                if (item.getFieldName().equals("casta_applicationid")) {
                    applicationId = IOUtil.getStreamContentAsString(item.getInputStream());
                    //logger.debug("applicationid for upload:" + applicationId);
                    applicationInstance = (Application) request.getSession().getAttribute(applicationId);
                } else if (item.getFieldName().equalsIgnoreCase("casta_componentid")) {
                    componentId = IOUtil.getStreamContentAsString(item.getInputStream());
                    //logger.debug("componentid for upload:" + componentId);
                }
            } else {
                FileData bFile = null;
                System.out.println(item.getName());
                String name = item.getName();
                //logger.debug("opening client stream...");
                File savedFile = new File(
                        pro.get("upload.dir") + "/" + new Date().getTime() + "_" + item.getName()); //new File(request.getRealPath("/")+"uploadedFiles/"+name);

                item.write(savedFile);
                String contentType = item.getContentType();
                //logger.debug("content type of file:" + contentType);

                bFile = getNewInstance();
                bFile.setUrl(savedFile.getAbsolutePath());
                bFile.setName(item.getName());
                bFile.setName(name);
                ds.add(bFile);
                //exUpload.addFile(bFile);
            }
        }

        exUpload = (EXUpload) applicationInstance.getDescendentById(componentId);
        for (FileData f : ds) {
            exUpload.addFile(f);
        }
        //logger.debug("upload is complete. The binary file can be obtained using EXFileUpload.getFile()");
    } catch (Exception e) {
        throw new ServletException(e);
    }
}

From source file:org.cerberus.servlet.crud.test.ImportTestCaseFromJson.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  ww w .  j  a va  2 s . com*/
 *
 * @param request  servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException      if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String test = "";
    String testcase = "";
    JSONObject jo = null;
    FileItem item = null;

    if (ServletFileUpload.isMultipartContent(request)) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);

        try {

            List items = upload.parseRequest(request);
            Iterator iterator = items.iterator();

            while (iterator.hasNext()) {
                item = (FileItem) iterator.next();

                if (item.isFormField()) {
                    String name = item.getFieldName();
                    if (name.equals("test")) {
                        test = item.getString("UTF-8");
                    }
                    if (name.equals("testcase")) {
                        testcase = item.getString("UTF-8");
                    }
                } else {
                    InputStream inputStream = item.getInputStream();

                    BufferedReader streamReader = new BufferedReader(
                            new InputStreamReader(inputStream, "UTF-8"));
                    StringBuilder responseStrBuilder = new StringBuilder();

                    String inputStr;
                    while ((inputStr = streamReader.readLine()) != null) {
                        responseStrBuilder.append(inputStr);
                    }
                    inputStream.close();
                    streamReader.close();
                    jo = new JSONObject(responseStrBuilder.toString());

                }

            }

            ApplicationContext appContext = WebApplicationContextUtils
                    .getWebApplicationContext(this.getServletContext());
            ITestCaseService tcService = appContext.getBean(ITestCaseService.class);
            TestCase tcInfo = new TestCase();
            tcInfo.setTest(test);
            tcInfo.setTestCase(testcase);
            tcInfo.setOrigine(jo.getString("origin") == null ? "" : jo.getString("origin"));
            tcInfo.setImplementer(jo.getString("implementer") == null ? "123TOTO" : "1234TOTO");
            tcInfo.setBehaviorOrValueExpected(jo.getString("description") == null ? "1293TOTO" : "12394TOTO");

            tcService.updateTestCaseInformation(tcInfo);

            response.sendRedirect("TestCase.jsp");
        } catch (FileUploadException e) {
            e.printStackTrace();
        } catch (JSONException ex) {
            Logger.getLogger(ImportTestCaseFromJson.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

From source file:org.cerberus.servlet.testCase.ImportTestCaseFromJson.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from  w  w  w  .  j  a  v  a 2 s  .  c o m
 *
 * @param request  servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException      if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String test = "";
    String testcase = "";
    JSONObject jo = null;
    FileItem item = null;

    if (ServletFileUpload.isMultipartContent(request)) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);

        try {

            List items = upload.parseRequest(request);
            Iterator iterator = items.iterator();

            while (iterator.hasNext()) {
                item = (FileItem) iterator.next();

                if (item.isFormField()) {
                    String name = item.getFieldName();
                    if (name.equals("test")) {
                        test = item.getString("UTF-8");
                        System.out.println(test);
                    }
                    if (name.equals("testcase")) {
                        testcase = item.getString("UTF-8");
                        System.out.println(testcase);
                    }
                } else {
                    InputStream inputStream = item.getInputStream();

                    BufferedReader streamReader = new BufferedReader(
                            new InputStreamReader(inputStream, "UTF-8"));
                    StringBuilder responseStrBuilder = new StringBuilder();

                    String inputStr;
                    while ((inputStr = streamReader.readLine()) != null) {
                        responseStrBuilder.append(inputStr);
                    }
                    inputStream.close();
                    streamReader.close();
                    jo = new JSONObject(responseStrBuilder.toString());

                }

            }

            ApplicationContext appContext = WebApplicationContextUtils
                    .getWebApplicationContext(this.getServletContext());
            ITestCaseService tcService = appContext.getBean(ITestCaseService.class);
            TestCase tcInfo = new TestCase();
            tcInfo.setTest(test);
            tcInfo.setTestCase(testcase);
            tcInfo.setOrigin(jo.getString("origin") == null ? "" : jo.getString("origin"));
            tcInfo.setImplementer(jo.getString("implementer") == null ? "123TOTO" : "1234TOTO");
            tcInfo.setDescription(jo.getString("description") == null ? "1293TOTO" : "12394TOTO");

            tcService.updateTestCaseInformation(tcInfo);

            response.sendRedirect("TestCase.jsp");
        } catch (FileUploadException e) {
            e.printStackTrace();
        } catch (JSONException ex) {
            Logger.getLogger(ImportTestCaseFromJson.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

From source file:org.cloudata.tools.cloudatafs.WebUtil.java

public static void saveFile(CloudataConf conf, FileItem fileItem, String parentPath) throws IOException {
    BufferedInputStream uploadedStream = new BufferedInputStream(fileItem.getInputStream());
    CloudataFS fs = CloudataFS.get(conf);
    //BufferedOutputStream serverFileOut = new BufferedOutputStream(new FileOutputStream("c:/temp/bb/" + fileItem.getName()));
    BufferedOutputStream serverFileOut = new BufferedOutputStream(fs.create(parentPath + fileItem.getName()));

    try {//  ww w.ja  va 2 s .c om
        byte[] buf = new byte[4096];
        int readLen = 0;
        while ((readLen = uploadedStream.read(buf)) > 0) {
            serverFileOut.write(buf, 0, readLen);
        }
    } finally {
        serverFileOut.close();
        uploadedStream.close();
    }

    fileItem.delete();
}

From source file:org.cloudcoder.app.server.servlet.RegisterStudents.java

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    Connection conn = null;/*from w  w w.  j a  va  2  s. com*/
    try {
        conn = DBUtil.getConnection();

        //Create a temporary file in a platform-independent manner
        File tempFile = File.createTempFile("registerstudentsupload", ".tmp");
        tempFile.delete();
        tempFile.mkdirs();
        tempFile.deleteOnExit();

        DiskFileItemFactory factory = new DiskFileItemFactory(10 * 1024 * 1024, tempFile);
        ServletFileUpload upload = new ServletFileUpload(factory);

        int courseId = -1;
        InputStream in = null;
        int num = 0;

        List<FileItem> items = upload.parseRequest(request);
        logger.info("num file items: " + items.size());
        for (FileItem item : items) {
            if (item.isFormField() && item.getFieldName().equals("courseId")) {
                courseId = Integer.parseInt(item.getString());
            } else {
                in = item.getInputStream();
            }
        }
        if (courseId == -1 || in == null) {
            logger.error("courseId " + courseId + ", file input stream is null? " + (in == null));
            throw new ServletException("courseId " + courseId);
        }
        num = ConfigurationUtil.registerStudentsForCourseId(in, courseId, conn);

        response.setStatus(HttpServletResponse.SC_OK);
        response.setContentType("text/plain");
        PrintStream out = new PrintStream(response.getOutputStream());
        out.println("Registered " + num + " students");
        out.flush();
        out.close();
    } catch (SQLException e) {
        throw new ServletException(e);
    } catch (FileUploadException e) {
        throw new ServletException(e);
    } finally {
        DBUtil.closeQuietly(conn);
    }
}

From source file:org.codehaus.cargo.daemon.request.StartRequest.java

/**
 * Gets the inputstream of a file with key name {@code name}.
 * /*from   w  w  w  .  j av a2 s  .  c  om*/
 * @param name The key name.
 * @param required If required {@code true}, otherwise {@code false}
 * @return the inputstream of the file
 */
public InputStream getFile(String name, boolean required) {
    try {
        InputStream inputStream = null;

        if (files != null) {
            FileItem item = files.get(name);
            if (item != null) {
                inputStream = item.getInputStream();
            }
        }

        if (inputStream == null) {
            if (required) {
                throw new CargoDaemonException("Parameter " + name + " is required.");
            }
        }

        return inputStream;
    } catch (IOException e) {
        throw new CargoDaemonException(e);
    }
}