List of usage examples for org.apache.commons.fileupload FileItem isFormField
boolean isFormField();
FileItem
instance represents a simple form field. From source file:com.openkm.servlet.admin.CheckTextExtractionServlet.java
@SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.debug("doPost({}, {})", request, response); request.setCharacterEncoding("UTF-8"); updateSessionManager(request);//from www . j ava 2 s .co m InputStream is = null; try { if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); String docUuid = null; String repoPath = null; String text = null; String error = null; String mimeType = null; String extractor = null; for (Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem item = it.next(); if (item.isFormField()) { if (item.getFieldName().equals("docUuid")) { docUuid = item.getString("UTF-8"); } else if (item.getFieldName().equals("repoPath")) { repoPath = item.getString("UTF-8"); } } else { is = item.getInputStream(); String name = FilenameUtils.getName(item.getName()); mimeType = MimeTypeConfig.mimeTypes.getContentType(name.toLowerCase()); if (!name.isEmpty() && item.getSize() > 0) { docUuid = null; repoPath = null; } else if (docUuid.isEmpty() && repoPath.isEmpty()) { mimeType = null; } } } if (docUuid != null && !docUuid.isEmpty()) { repoPath = OKMRepository.getInstance().getNodePath(null, docUuid); } if (repoPath != null && !repoPath.isEmpty()) { String name = PathUtils.getName(repoPath); mimeType = MimeTypeConfig.mimeTypes.getContentType(name.toLowerCase()); is = OKMDocument.getInstance().getContent(null, repoPath, false); } long begin = System.currentTimeMillis(); if (is != null) { if (!MimeTypeConfig.MIME_UNDEFINED.equals(mimeType)) { TextExtractor extClass = RegisteredExtractors.getTextExtractor(mimeType); if (extClass != null) { try { extractor = extClass.getClass().getCanonicalName(); text = RegisteredExtractors.getText(mimeType, null, is); } catch (Exception e) { error = e.getMessage(); } } else { extractor = "Undefined text extractor"; } } } ServletContext sc = getServletContext(); sc.setAttribute("docUuid", docUuid); sc.setAttribute("repoPath", repoPath); sc.setAttribute("text", text); sc.setAttribute("time", System.currentTimeMillis() - begin); sc.setAttribute("mimeType", mimeType); sc.setAttribute("error", error); sc.setAttribute("extractor", extractor); sc.getRequestDispatcher("/admin/check_text_extraction.jsp").forward(request, response); } } catch (DatabaseException e) { sendErrorRedirect(request, response, e); } catch (FileUploadException e) { sendErrorRedirect(request, response, e); } catch (PathNotFoundException e) { sendErrorRedirect(request, response, e); } catch (AccessDeniedException e) { sendErrorRedirect(request, response, e); } catch (RepositoryException e) { sendErrorRedirect(request, response, e); } finally { IOUtils.closeQuietly(is); } }
From source file:UploadDownloadFile.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response);/* ww w . j a va2 s .c om*/ String filePath; final String clientip = request.getRemoteAddr().replace(":", "_"); filePath = "/Users/" + currentuser + "/GlassFish_Server/glassfish/domains/domain1/tmpfiles/Uploaded/" + clientip + "/"; System.out.println("filePath = " + filePath); // filePath = "/Users/jhovarie/Desktop/webuploaded/"; File f = new File(filePath); if (!f.exists()) { f.mkdirs(); } isMultipart = ServletFileUpload.isMultipartContent(request); response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); if (!isMultipart) { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); return; } DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. //factory.setRepository(new File("c:\\temp")); factory.setRepository(new File(filePath)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); try { // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<a href='" + currenthost + "/UploadDownloadFile/index.html'><< BACK <<</a><br/>"); String fileName = ""; while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file if (fileName.lastIndexOf("\\") >= 0) { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\"))); } else { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1)); } fi.write(file); out.println("Uploaded Filename: " + fileName + "<br>"); } } out.println("Target Location = " + filePath); out.write( "<br/><a href=\"UploadDownloadFile?fileName=" + fileName + "\">Download " + fileName + "</a>"); out.println("</body>"); out.println("</html>"); } catch (Exception ex) { System.out.println("Error in Process " + ex); } }
From source file:controller.AddNewEC.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.// w w w .ja v a 2 s .co 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 { response.setContentType("text/html;charset=UTF-8"); ExtenuatingCircumstance ec = new ExtenuatingCircumstance(); if (ServletFileUpload.isMultipartContent(request)) { try { int year = 0; String fname = StringUtils.EMPTY; String title = StringUtils.EMPTY; String desciption = StringUtils.EMPTY; List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); ArrayList<FileItem> files = new ArrayList<>(); for (FileItem item : multiparts) { if (item.isFormField()) { if (item.getFieldName().equals("year")) { year = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("title")) { title = item.getString(); } if (item.getFieldName().equals("description")) { desciption = item.getString(); } } else { if (StringUtils.isNotEmpty(item.getName())) { files.add(item); } } } HttpSession session = request.getSession(false); Account studentAccount = (Account) session.getAttribute("account"); LocalDateTime now = WsadUtils.GetCurrentDatetime(); // insert EC ec.setAcademicYear(year); ec.setTitle(title); ec.setDescription(desciption); ec.setProcess_status("submitted"); ec.setSubmitted_date(now.toString()); ec.setAccount(studentAccount.getId()); ExtenuatingCircumstance insertedEC = new ExtenuatingCircumstanceDAO().insertEC(ec); //insert assigned coordinator Account coordinator = new AccountDAO().getCoordinator(studentAccount.getFaculty()); insertAssignedCoordinator(coordinator, insertedEC); //insert evidence insertedEvidence(files, now, insertedEC, studentAccount); String mailContent = WsadUtils.buildMailContentForNewEC(insertedEC); SendMail.sendMail(coordinator.getEmail(), "New EC", mailContent); } catch (Exception e) { e.printStackTrace(); } } else { request.setAttribute("message", "Sorry this Servlet only handles file upload request"); } request.setAttribute("resultMsg", "inserted"); request.getRequestDispatcher("AddNewECResult.jsp").forward(request, response); }
From source file:com.liferay.apio.architect.impl.jaxrs.json.reader.MultipartBodyMessageBodyReader.java
private void _storeFileItem(FileItem fileItem, Consumer<String> valueConsumer, Consumer<BinaryFile> fileConsumer) throws IOException { if (fileItem.isFormField()) { InputStream stream = fileItem.getInputStream(); valueConsumer.accept(Streams.asString(stream)); } else {// w ww . jav a 2 s . c o m BinaryFile binaryFile = new BinaryFile(fileItem.getInputStream(), fileItem.getSize(), fileItem.getContentType()); fileConsumer.accept(binaryFile); } }
From source file:gov.nih.nci.queue.servlet.FileUploadServlet.java
/** * ************************************************* * URL: /upload doPost(): upload the files and other parameters * * @param request/*w ww.j a v a 2s. c o m*/ * @param response * @throws javax.servlet.ServletException * @throws java.io.IOException * ************************************************** */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Create an object for JSON response. ResponseModel rm = new ResponseModel(); // Set response type to json response.setContentType("application/json"); PrintWriter writer = response.getWriter(); // Get property values. // SOCcer related. final Double estimatedThreshhold = Double .valueOf(PropertiesUtil.getProperty("gov.nih.nci.soccer.computing.time.threshhold").trim()); // FileUpload Settings. final String repositoryPath = PropertiesUtil.getProperty("gov.nih.nci.queue.repository.dir"); final String strOutputDir = PropertiesUtil.getProperty("gov.nih.cit.soccer.output.dir").trim(); final long fileSizeMax = 10000000000L; // 10G LOGGER.log(Level.INFO, "repository.dir: {0}, filesize.max: {1}, time.threshhold: {2}", new Object[] { repositoryPath, fileSizeMax, estimatedThreshhold }); // Check that we have a file upload request // Check that we have a file upload request boolean isMultipart = ServletFileUpload.isMultipartContent(request); // Ensuring that the request is actually a file upload request. if (isMultipart) { // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); //upload file dirctory. If it does not exist, create one. File f = new File(repositoryPath); if (!f.exists()) { f.mkdir(); } // Set factory constraints // factory.setSizeThreshold(yourMaxMemorySize); // Configure a repository factory.setRepository(new File(repositoryPath)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); upload.setFileSizeMax(fileSizeMax); try { // Parse the request 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()) { // Handle file field. String fileName = item.getName(); rm.setFileName(fileName); String contentType = item.getContentType(); rm.setFileType(contentType); long sizeInBytes = item.getSize(); rm.setFileSize(String.valueOf(sizeInBytes)); String inputFileId = new UniqueIdUtil(fileName).getInputUniqueID(); rm.setInputFileId(inputFileId); String absoluteInputFileName = repositoryPath + File.separator + inputFileId; rm.setRepositoryPath(repositoryPath); // Write file to the destination folder. File inputFile = new File(absoluteInputFileName); item.write(inputFile); // Validation. InputFileValidator validator = new InputFileValidator(); List<String> validationErrors = validator.validateFile(inputFile); if (validationErrors == null) { // Pass validation // check estimatedProcessingTime. SoccerServiceHelper soccerHelper = new SoccerServiceHelper(strOutputDir); Double estimatedTime = soccerHelper.getEstimatedTime(absoluteInputFileName); rm.setEstimatedTime(String.valueOf(estimatedTime)); if (estimatedTime > estimatedThreshhold) { // STATUS: QUEUE (Ask client for email) // Construct Response String in JSON format. rm.setStatus("queue"); } else { // STATUS: PASS (Ask client to confirm calculate) // all good. Process the output and Go to result page directly. rm.setStatus("pass"); } } else { // STATUS: FAIL // Did not pass validation. // Construct Response String in JSON format. rm.setStatus("invalid"); rm.setDetails(validationErrors); } } else { // TODO: Handle Form Fields such as SOC_SYSTEM. } // End of isFormField } } catch (Exception e) { LOGGER.log(Level.SEVERE, "FileUploadException or FileNotFoundException. Error Message: {0}", new Object[] { e.getMessage() }); rm.setStatus("fail"); rm.setErrorMessage( "Oops! We met with problems when uploading your file. Error Message: " + e.getMessage()); } // Send the response. ObjectMapper jsonMapper = new ObjectMapper(); LOGGER.log(Level.INFO, "Response: {0}", new Object[] { jsonMapper.writeValueAsString(rm) }); // Generate metadata file new MetadataFileUtil(rm.getInputFileId(), repositoryPath) .generateMetadataFile(jsonMapper.writeValueAsString(rm)); // Responde to the client. writer.print(jsonMapper.writeValueAsString(rm)); } else { // The request is NOT actually a file upload request writer.print("You hit the wrong file upload page. The request is NOT actually a file upload request."); } }
From source file:com.ephesoft.gxt.admin.server.ImportTableUploadServlet.java
/** * This API is used to process uploaded file . * // w w w . j av a2 s . co m * @param upload {@link ServletFileUpload} uploaded file. * @param req {@link HttpServletRequest}. * @param printWriter {@link PrintWriter}. * @param parentDirPath {@link String} to copy the file in directory path. * @return {@link File} temporary file after copy. */ private String processUploadedFile(final ServletFileUpload upload, final HttpServletRequest req, final PrintWriter printWriter, final String parentDirPath) { String tableFileName = ""; String tablePathname = ""; File tempTableFile = null; List<FileItem> items; try { items = upload.parseRequest(req); for (final FileItem item : items) { if (!item.isFormField()) {// && "importFile".equals(item.getFieldName())) { tablePathname = getTablePath(item, parentDirPath); tableFileName = getTableFileName(item); tempTableFile = copyItemContentInFile(item, tablePathname, printWriter); } } } catch (final FileUploadException e) { printWriter.write("Unable to read the form contents.Please try again."); } return tempTableFile.getAbsolutePath(); }
From source file:com.bluelotussoftware.apache.commons.fileupload.example.MultiContentServlet.java
/** * Handles the HTTP//from w w w. jav a 2 s. c o m * <code>POST</code> method. * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter writer = null; InputStream is = null; FileOutputStream fos = null; try { writer = response.getWriter(); } catch (IOException ex) { log(MultiContentServlet.class.getName() + "has thrown an exception: " + ex.getMessage()); } boolean isMultiPart = ServletFileUpload.isMultipartContent(request); if (isMultiPart) { log("Content-Type: " + request.getContentType()); // Create a factory for disk-based file items DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); /* * Set the file size limit in bytes. This should be set as an * initialization parameter */ diskFileItemFactory.setSizeThreshold(1024 * 1024 * 10); //10MB. // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory); List items = null; try { items = upload.parseRequest(request); } catch (FileUploadException ex) { log("Could not parse request", ex); } ListIterator li = items.listIterator(); while (li.hasNext()) { FileItem fileItem = (FileItem) li.next(); if (fileItem.isFormField()) { if (debug) { processFormField(fileItem); } } else { writer.print(processUploadedFile(fileItem)); } } } if ("application/octet-stream".equals(request.getContentType())) { log("Content-Type: " + request.getContentType()); String filename = request.getHeader("X-File-Name"); try { is = request.getInputStream(); fos = new FileOutputStream(new File(realPath + filename)); IOUtils.copy(is, fos); response.setStatus(HttpServletResponse.SC_OK); writer.print("{success: true}"); } catch (FileNotFoundException ex) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); writer.print("{success: false}"); log(MultiContentServlet.class.getName() + "has thrown an exception: " + ex.getMessage()); } catch (IOException ex) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); writer.print("{success: false}"); log(MultiContentServlet.class.getName() + "has thrown an exception: " + ex.getMessage()); } finally { try { fos.close(); is.close(); } catch (IOException ignored) { } } writer.flush(); writer.close(); } }
From source file:Control.HandleAddFoodMenu.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w w w . java2 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 { response.setContentType("text/html;charset=UTF-8"); HttpSession session = request.getSession(); Food temp = new Food(); try (PrintWriter out = response.getWriter()) { LinkedList<String> names = new LinkedList<>(); /* TODO output your page here. You may use following sample code. */ String path = getClass().getResource("/").getPath(); String[] tempS = null; if (Paths.path == null) { File file = new File(path + "test.html"); path = file.getParent(); File file1 = new File(path + "test1.html"); path = file1.getParent(); File file2 = new File(path + "test1.html"); path = file2.getParent(); Paths.path = path; } else { path = Paths.path; } path = Paths.tempPath; String name; String sepName = Tools.CurrentTime(); if (ServletFileUpload.isMultipartContent(request)) { List<?> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); Iterator iter = multiparts.iterator(); int index = 0; tempS = new String[multiparts.size() - 1]; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { name = new File(item.getName()).getName(); names.add(name); String FilePath = path + Paths.foodImagePath + sepName + name; item.write(new File(FilePath)); } else { String test = item.getFieldName(); tempS[index++] = item.getString(); } } index = 0; temp.categoryid = Integer.parseInt(tempS[index++]); temp.ID = tempS[index++]; temp.name = tempS[index++]; temp.price = Double.parseDouble(tempS[index++]); temp.pieces = Integer.parseInt(tempS[index++]); temp.description = tempS[index++]; temp.restid = Integer.parseInt(tempS[index++]); temp.resID = tempS[index++]; temp.rename = tempS[index++]; } if (Food.checkExisted(temp.ID, temp.name)) { response.sendRedirect("./Admin/AddMenu.jsp?index=1" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } else { if (Food.addNewFood(temp)) { int id = Food.getFoodID(temp.ID); boolean flag = true; for (String s : names) { if (Image.addImage(s, Paths.foodImagePathStore + sepName + s, id)) { } else { flag = false; break; } } if (flag) { response.sendRedirect("./Admin/AddMenu.jsp?index=2" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } else { response.sendRedirect("./Admin/AddMenu.jsp?index=4" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } } else { response.sendRedirect("./Admin/AddMenu.jsp?index=3" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } } } catch (Exception e) { response.sendRedirect("./Admin/AddMenu.jsp?index=0" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } }
From source file:Emporium.Servlet.ServPreVendaImportarNFe.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from ww w .j a va 2 s. co 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 { HttpSession sessao = request.getSession(); String nomeBD = (String) sessao.getAttribute("nomeBD"); boolean isMultiPart = FileUpload.isMultipartContent(request); String departamento = "", servico = "", tipo = ""; int idCliente = 0, vd = 0, ar = 0, rm = 0, tipoEntrega = 0; if (nomeBD != null) { if (isMultiPart) { try { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(1024 * 1024 * 2); List items = upload.parseRequest(request); Iterator iter = items.iterator(); ArrayList<FileItem> listaArq = new ArrayList<FileItem>(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { if (item.getFieldName().equals("tipo")) { tipo = item.getString(); } if (item.getFieldName().equals("departamento")) { departamento = item.getString(); } if (item.getFieldName().equals("servico")) { servico = item.getString(); } if (item.getFieldName().equals("idCliente")) { idCliente = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("vd")) { vd = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("ar")) { ar = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("rm")) { rm = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("tipoEntrega")) { tipoEntrega = Integer.parseInt(item.getString()); } } if (!item.isFormField()) { if (item.getName().length() > 0) { listaArq.add(item); } } } if (listaArq.isEmpty()) { response.sendRedirect( "Cliente/Servicos/imp_postagem.jsp?msg=Escolha um arquivo para importacao !"); } else if (listaArq.size() > 200) { response.sendRedirect( "Cliente/Servicos/imp_postagem.jsp?msg=Importacao maxima de 200 arquivos de cada vez!"); } else { ContrPreVendaImporta.excluirNaoConfirmados(idCliente, nomeBD); String condicao = ContrPreVendaImporta.importaPedidoNFe(listaArq, idCliente, departamento, servico, vd, ar, rm, tipoEntrega, nomeBD); if (condicao.startsWith("ERRO")) { response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=" + condicao); } else { response.sendRedirect("Cliente/Servicos/imp_confirma.jsp?msg=" + condicao); } } } catch (FileUploadException ex) { response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=Falha na importacao!\n" + ex); } catch (Exception ex) { response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=Falha na importacao!\n" + ex); } } else { response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=is not a multipart form"); } } else { response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=Sua sessao expirou!"); } }
From source file:com.carolinarollergirls.scoreboard.jetty.MediaServlet.java
protected void processFileItemList(List<FileItem> fileItems, String media, String type) throws FileNotFoundException, IOException { File typeDir = getTypeDir(media, type, true); ListIterator<FileItem> fileItemIterator = fileItems.listIterator(); while (fileItemIterator.hasNext()) { FileItem item = fileItemIterator.next(); if (item.isFormField()) { fileItemIterator.remove();/*from www . ja va2s . c o m*/ } else { File f = createFile(typeDir, item); } } }