List of usage examples for org.apache.commons.fileupload FileItem getInputStream
InputStream getInputStream() throws IOException;
From source file:com.duroty.application.files.actions.UploadAction.java
protected ActionForward doExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors = new ActionMessages(); try {//from w w w.j av a2 s . c o m boolean isMultipart = FileUpload.isMultipartContent(request); Store storeInstance = getStoreInstance(request); if (isMultipart) { Map fields = new HashMap(); Vector files = new Vector(); //Parse the request List items = diskFileUpload.parseRequest(request); //Process the uploaded items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { fields.put(item.getFieldName(), item.getString()); } else { if (!StringUtils.isBlank(item.getName())) { ByteArrayOutputStream baos = null; try { baos = new ByteArrayOutputStream(); IOUtils.copy(item.getInputStream(), baos); MailPartObj part = new MailPartObj(); part.setAttachent(baos.toByteArray()); part.setContentType(item.getContentType()); part.setName(item.getName()); part.setSize(item.getSize()); files.addElement(part); } catch (Exception ex) { } finally { IOUtils.closeQuietly(baos); } } } } if (files.size() > 0) { //Integer label = new Integer((String) fields.get("label")); storeInstance.send(files, 0, Charset.defaultCharset().displayName()); } } else { errors.add("general", new ActionMessage(ExceptionCode.ERROR_MESSAGES_PREFIX + "mail.send", "The form is null")); request.setAttribute("exception", "The form is null"); request.setAttribute("newLocation", null); doTrace(request, DLog.ERROR, getClass(), "The form is null"); } } catch (Exception ex) { String errorMessage = ExceptionUtilities.parseMessage(ex); if (errorMessage == null) { errorMessage = "NullPointerException"; } errors.add("general", new ActionMessage(ExceptionCode.ERROR_MESSAGES_PREFIX + "general", errorMessage)); request.setAttribute("exception", errorMessage); doTrace(request, DLog.ERROR, getClass(), errorMessage); } finally { } if (errors.isEmpty()) { doTrace(request, DLog.INFO, getClass(), "OK"); return mapping.findForward(Constants.ACTION_SUCCESS_FORWARD); } else { saveErrors(request, errors); return mapping.findForward(Constants.ACTION_FAIL_FORWARD); } }
From source file:edu.lafayette.metadb.web.dataman.ImportAdminDesc.java
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) *//*from w w w .ja v a2 s . c o m*/ @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub PrintWriter out = response.getWriter(); String delimiter = "comma"; boolean replaceEntity = false; String projname = (String) request.getSession(false).getAttribute(Global.SESSION_PROJECT); JSONObject output = new JSONObject(); try { if (ServletFileUpload.isMultipartContent(request)) { ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); List fileItemsList = servletFileUpload.parseRequest(request); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setSizeThreshold(40960); /* the unit is bytes */ Iterator it = fileItemsList.iterator(); InputStream input = null; while (it.hasNext()) { FileItem fileItem = (FileItem) it.next(); if (fileItem.isFormField()) { /* The file item contains a simple name-value pair of a form field */ if (fileItem.getFieldName().equals("delimiter")) delimiter = fileItem.getString(); else if (fileItem.getFieldName().equals("replace-entity")) replaceEntity = true; } else { input = fileItem.getInputStream(); } } String delimiterType = "csv"; if (delimiter.equals("tab")) { delimiterType = "tsv"; } if (input != null) { Result res = DataImporter.importFile(delimiterType, projname, input, replaceEntity); if (res.isSuccess()) { HttpSession session = request.getSession(false); if (session != null) { String userName = (String) session.getAttribute(Global.SESSION_USERNAME); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "Data imported into project " + projname); } output.put("message", "Data import successfully"); } else { output.put("message", "The following fields have been changed:"); StringBuilder fields = new StringBuilder(); for (String field : (ArrayList<String>) res.getData()) fields.append(field + ','); output.put("fields", fields.toString()); } output.put("success", res.isSuccess()); } else { output.put("success", false); output.put("message", "Null data"); } } else { output.put("success", false); output.put("message", "Form is not multi-part"); } } catch (Exception e) { MetaDbHelper.logEvent(e); } out.print(output); out.flush(); }
From source file:corpixmgr.handler.CorpixPostHandler.java
/** * Parse the import params from the request * @param request the http request//from w ww. j av a 2s. co m */ protected void parseImportParams(HttpServletRequest request) throws CorpixException { try { boolean isMultipart = ServletFileUpload.isMultipartContent(request); //System.out.println("Parsing import params"); if (isMultipart) { FileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Parse the request List items = upload.parseRequest(request); for (int i = 0; i < items.size(); i++) { FileItem item = (FileItem) items.get(i); if (item.isFormField()) { String fieldName = item.getFieldName(); if (fieldName != null) { String contents = item.getString("UTF-8"); processField(fieldName, contents); } } else if (item.getName().length() > 0) { fileName = item.getName(); InputStream is = item.getInputStream(); ByteArrayOutputStream bh = new ByteArrayOutputStream(); while (is.available() > 0) { byte[] b = new byte[is.available()]; is.read(b); bh.write(b); } fileData = bh.toByteArray(); } } } else { Map tbl = request.getParameterMap(); Set<String> keys = tbl.keySet(); Iterator<String> iter = keys.iterator(); while (iter.hasNext()) { String key = iter.next(); String[] values = (String[]) tbl.get(key); for (int i = 0; i < values.length; i++) processField(key, values[i]); } } } catch (Exception e) { throw new CorpixException(e); } }
From source file:com.google.zxing.web.DecodeServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (!ServletFileUpload.isMultipartContent(request)) { log.info("File upload was not multipart"); response.sendRedirect("badimage.jspx"); return;// ww w.ja v a 2s. c om } ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory); upload.setFileSizeMax(MAX_IMAGE_SIZE); // Parse the request try { for (FileItem item : upload.parseRequest(request)) { if (!item.isFormField()) { if (item.getSize() <= MAX_IMAGE_SIZE) { log.info("Decoding uploaded file"); try (InputStream is = item.getInputStream()) { processStream(is, request, response); } } else { log.info("Too large"); response.sendRedirect("badimage.jspx"); } break; } } } catch (FileUploadException fue) { log.info(fue.toString()); response.sendRedirect("badimage.jspx"); } }
From source file:es.ucm.fdi.dalgs.group.service.GroupService.java
@PreAuthorize("hasPermission(#group, 'WRITE') or hasPermission(#group, 'ADMINISTRATION')") @Transactional(readOnly = false)/*from ww w.j av a 2 s . co m*/ public ResultClass<Boolean> uploadUserCVS(Group group, UploadForm upload, String typeOfUser, Locale locale) { ResultClass<Boolean> result = new ResultClass<>(); if (!upload.getFileData().isEmpty()) { CsvPreference prefers = new CsvPreference.Builder(upload.getQuoteChar().charAt(0), upload.getDelimiterChar().charAt(0), upload.getEndOfLineSymbols()).build(); List<User> list = null; try { FileItem fileItem = upload.getFileData().getFileItem(); UserCSV userUpload = new UserCSV(); list = userUpload.readCSVUserToBean(fileItem.getInputStream(), upload.getCharset(), prefers, typeOfUser); if (list == null) { result.setHasErrors(true); result.getErrorsList().add(messageSource.getMessage("error.params", null, locale)); } else { if (serviceUser.persistListUsers(group, list).getSingleElement() && list != null) { // Added list = (List<User>) serviceUser.getListUsersWithId(group, list); // correctly // ResultClass<Boolean> success = new ResultClass<Boolean>(); if (typeOfUser.equalsIgnoreCase("ROLE_PROFESSOR")) { result = setProfessors(group, group.getId(), group.getCourse().getId(), group.getCourse().getAcademicTerm().getId(), list); } else if (typeOfUser.equalsIgnoreCase("ROLE_STUDENT")) { // group.setStudents(list); result = setStudents(group, group.getId(), group.getCourse().getId(), group.getCourse().getAcademicTerm().getId(), list); } else result.setSingleElement(false); } } } catch (IOException e) { e.printStackTrace(); result.setSingleElement(false); } catch (final IllegalArgumentException e) { e.printStackTrace(); result.setSingleElement(false); } } else { result.setHasErrors(true); result.getErrorsList().add(messageSource.getMessage("error.fileEmpty", null, locale)); } return result; }
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 www.j av a 2s .c om*/ 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:hudson.plugins.sidebar_link.SidebarLinkPlugin.java
/** * Receive file upload from startUpload.jelly. * File is placed in $JENKINS_HOME/userContent directory. *///from ww w. ja v a 2 s . com public void doUpload(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException, InterruptedException { Hudson hudson = Hudson.getInstance(); hudson.checkPermission(Hudson.ADMINISTER); FileItem file = req.getFileItem("linkimage.file"); String error = null, filename = null; if (file == null || file.getName().isEmpty()) error = Messages.NoFile(); else { filename = "userContent/" // Sanitize given filename: + file.getName().replaceFirst(".*/", "").replaceAll("[^\\w.,;:()#@!=+-]", "_"); FilePath imageFile = hudson.getRootPath().child(filename); if (imageFile.exists()) error = Messages.DupName(); else { imageFile.copyFrom(file.getInputStream()); imageFile.chmod(0644); } } rsp.setContentType("text/html"); rsp.getWriter().println((error != null ? error : Messages.Uploaded("<tt>/" + filename + "</tt>")) + " <a href=\"javascript:history.back()\">" + Messages.Back() + "</a>"); }
From source file:com.thejustdo.servlet.CargaMasivaServlet.java
/** * Given a stream containing the file to process, it builds all the info * related to the beneficiaries for dream boxes * * @param fi Contains the info related to the file to be processed. <br /> * <strong>File structure</strong> <ul> <li>0: Identification number.</li> * <li>1: Identification type.</li> <li>2: Age.</li> <li>3: Given * box.</li> <li>4: Last name.</li> <li>5: Second last name.</li> </ul> * @return The list of beneficiaries./*from w w w. jav a2 s. c om*/ */ private List<Beneficiary> processFile(FileItem fi) throws IOException { List<Beneficiary> answer = new ArrayList<Beneficiary>(); // 1. Getting the input stream with the file. InputStream stream = fi.getInputStream(); InputStreamReader isr = new InputStreamReader(stream, "ISO-8859-1"); BufferedReader reader = new BufferedReader(isr); // 2. Parsing line by line. String line; String parts[]; Beneficiary b; while (reader.ready()) { line = reader.readLine(); // Building the beneficiaries. if ((line == null) || ("".equalsIgnoreCase(line.trim()))) { continue; } // 2.1 Spliting parts. log.info(String.format("Found line: %s", line)); parts = line.split(","); // 2.2 Building the new elemento of response. b = new Beneficiary(); //b.setIdNumber(Long.parseLong(parts[0])); //b.setDocumentType(parts[1]); //b.setAge(Integer.parseInt(parts[2])); b.setGivenNames(parts[0]); b.setLastName(parts[1]); //b.setSecondLastName(parts[2]); // 2.3 Adding the element to the answer. answer.add(b); } // n. Clossing the stream. stream.close(); return answer; }
From source file:ai.h2o.servicebuilder.CompilePojoServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { File tmp = null;/* w w w.ja v a 2 s . c o m*/ try { //create temp directory tmp = createTempDirectory("compilePojo"); logger.info("tmp dir {}", tmp); // get input files List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); List<String> pojofiles = new ArrayList<String>(); String jarfile = null; for (FileItem i : items) { String field = i.getFieldName(); String filename = i.getName(); if (filename != null && filename.length() > 0) { if (field.equals("pojo")) { pojofiles.add(filename); } if (field.equals("jar")) { jarfile = filename; } FileUtils.copyInputStreamToFile(i.getInputStream(), new File(tmp, filename)); } } if (pojofiles.isEmpty() || jarfile == null) throw new Exception("need pojofile(s) and jarfile"); // create output directory File out = new File(tmp.getPath(), "out"); boolean mkDirResult = out.mkdir(); if (!mkDirResult) throw new Exception("Can't create output directory (out)"); if (servletPath == null) throw new Exception("servletPath is null"); copyExtraFile(servletPath, "extra" + File.separator, tmp, "H2OPredictor.java", "H2OPredictor.java"); FileUtils.copyDirectoryToDirectory( new File(servletPath, "extra" + File.separator + "WEB-INF" + File.separator + "lib"), tmp); copyExtraFile(servletPath, "extra" + File.separator, new File(out, "META-INF"), "MANIFEST.txt", "MANIFEST.txt"); // Compile the pojo(s) for (String pojofile : pojofiles) { runCmd(tmp, Arrays.asList("javac", "-target", JAVA_TARGET_VERSION, "-source", JAVA_TARGET_VERSION, "-J-Xmx" + MEMORY_FOR_JAVA_PROCESSES, "-cp", jarfile + ":lib/*", "-d", "out", pojofile, "H2OPredictor.java"), "Compilation of pojo failed: " + pojofile); } // create jar result file runCmd(out, Arrays.asList("jar", "xf", tmp + File.separator + jarfile), "jar extraction of h2o-genmodel failed"); runCmd(out, Arrays.asList("jar", "xf", tmp + File.separator + "lib" + File.separator + "gson-2.6.2.jar"), "jar extraction of gson failed"); runCmd(out, Arrays.asList("jar", "cfm", tmp + File.separator + "result.jar", "META-INF" + File.separator + "MANIFEST.txt", "."), "jar creation failed"); byte[] resjar = IOUtils.toByteArray(new FileInputStream(tmp + File.separator + "result.jar")); if (resjar == null) throw new Exception("Can't create jar of compiler output"); logger.info("jar created, size {}", resjar.length); // send jar back ServletOutputStream sout = response.getOutputStream(); response.setContentType("application/octet-stream"); String outputFilename = pojofiles.get(0).replace(".java", ""); response.setHeader("Content-disposition", "attachment; filename=" + outputFilename + ".jar"); response.setContentLength(resjar.length); sout.write(resjar); sout.close(); response.setStatus(HttpServletResponse.SC_OK); } catch (Exception e) { logger.error("post failed", e); // send the error message back String message = e.getMessage(); if (message == null) message = "no message"; logger.error(message); response.getWriter().write(message); response.getWriter().write(Arrays.toString(e.getStackTrace())); response.sendError(HttpServletResponse.SC_BAD_REQUEST, e.getMessage()); } finally { // if the temp directory is still there we delete it try { if (tmp != null && tmp.exists()) FileUtils.deleteDirectory(tmp); } catch (IOException e) { logger.error("Can't delete tmp directory"); } } }
From source file:com.zlfun.framework.excel.ExcelUtils.java
public static <T> List<T> httpInput(HttpServletRequest request, Class<T> clazz) { List<T> result = new ArrayList<T>(); //?? //from w w w .j ava2 s .co m DiskFileItemFactory factory = new DiskFileItemFactory(); //?? String path = request.getSession().getServletContext().getRealPath("/"); factory.setRepository(new File(path)); // ?? factory.setSizeThreshold(1024 * 1024); ServletFileUpload upload = new ServletFileUpload(factory); try { //? List<FileItem> list = (List<FileItem>) upload.parseRequest(request); for (FileItem item : list) { //???? String name = item.getFieldName(); //? ?? ? if (item.isFormField()) { //? ?????? String value = item.getString(); request.setAttribute(name, value); } //? ?? else { /** * ?? ?? */ //??? String value = item.getName(); //???? fill(clazz, result, value, item.getInputStream()); //?? } } } catch (FileUploadException ex) { // TODO Auto-generated catch block excel=null; Logger.getLogger(ExcelUtils.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(ExcelUtils.class.getName()).log(Level.SEVERE, null, ex); } return result; }