List of usage examples for org.apache.commons.fileupload FileItem getInputStream
InputStream getInputStream() throws IOException;
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); } }