List of usage examples for org.apache.commons.fileupload FileItem isFormField
boolean isFormField();
FileItem
instance represents a simple form field. From source file:br.univali.celine.lms.utils.MultipartRequestProcessor.java
public void processRequest(HttpServletRequest request) { try {//w w w. j ava2s . c om parameters = new HashMap<String, Object>(); files = new ArrayList<FileItem>(); DiskFileItemFactory dfif = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(dfif); upload.setProgressListener(progressListener); List<?> items = upload.parseRequest(request); Iterator<?> iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) parameters.put(item.getFieldName(), item.getString()); else files.add(item); } } catch (Exception e) { LMSLogger.throwing(e); } }
From source file:com.eduAnalytics.servlet.FileUploadServlet.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request/* w ww. ja v a 2 s . c o m*/ * @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 { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String action = request.getParameter("action"); boolean isMultipartContent = ServletFileUpload.isMultipartContent(request); if (!isMultipartContent) { System.out.println("You are not trying to upload<br/>"); return; } System.out.println("You are trying to upload<br/>"); FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> fields = upload.parseRequest(request); System.out.println("Number of fields: " + fields.size() + "<br/><br/>"); Iterator<FileItem> it = fields.iterator(); if (!it.hasNext()) { System.out.println("No fields found"); return; } while (it.hasNext()) { FileItem fileItem = it.next(); boolean isFormField = fileItem.isFormField(); if (isFormField) { System.out.println("<td>regular form field</td><td>FIELD NAME: " + fileItem.getFieldName() + "<br/>STRING: " + fileItem.getString()); System.out.println("</td>"); } else { AdminDAO adminDAO = new AdminDAO(); int successEntries = 0; if (action.equals("addDiscipline")) { successEntries = adminDAO.uploadDiscipline(fileItem.getString()); } else if (action.equals("addCourse")) { successEntries = adminDAO.uploadCourse(fileItem.getString()); } System.out.println("servlet entries " + successEntries); response.setContentType("text/plain"); out.print(successEntries); } } } catch (FileUploadException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.fatih.edu.tr.NewTaskServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Check that we have a file upload request boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { return;/*from ww w .j a va2s . c o m*/ } // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); // Sets the size threshold beyond which files are written directly to // disk. factory.setSizeThreshold(MAX_MEMORY_SIZE); // Sets the directory used to temporarily store files that are larger // than the configured size threshold. We use temporary directory for // java factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); // constructs the folder where uploaded file will be stored String uploadFolder = getServletContext().getRealPath("") + File.separator + DATA_DIRECTORY; // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Set overall request size constraint upload.setSizeMax(MAX_REQUEST_SIZE); TaskDao taskDao = new TaskDao(); String title = ""; String description = ""; String due_date = ""; String fileName = ""; String filePath = ""; //taskDao.addTask(title, description, due_date, "testfile","testdizi",1); try { // Parse the request List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { fileName = new File(item.getName()).getName(); filePath = uploadFolder + File.separator + fileName; File uploadedFile = new File(filePath); System.out.println(filePath); item.write(uploadedFile); } else { String fieldname = item.getFieldName(); String fieldvalue = item.getString(); if (fieldname.equals("title")) { title = item.getString(); } else if (fieldname.equals("description")) { description = item.getString(); } else if (fieldname.equals("due_date")) { due_date = item.getString(); } else { System.out.println("Something goes wrong in form"); } } } taskDao.addTask(title, description, due_date, fileName, filePath, 1); // displays done.jsp page after upload finished getServletContext().getRequestDispatcher("/done.jsp").forward(request, response); } catch (FileUploadException ex) { throw new ServletException(ex); } catch (Exception ex) { throw new ServletException(ex); } }
From source file:controller.ProductProcess.java
public String processImage(HttpServletRequest request, HttpServletResponse response) throws IOException { if (!ServletFileUpload.isMultipartContent(request)) { PrintWriter writer = response.getWriter(); writer.print("error"); return ""; }/*from w ww.j a v a 2 s.c o m*/ String pathh = ""; DiskFileItemFactory factory = new DiskFileItemFactory(MEMORY_THRESHOLD, new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); upload.setFileSizeMax(MAX_FILE_SIZE); upload.setSizeMax(MAX_REQUEST_SIZE); String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY; File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } try { List<FileItem> formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { for (FileItem formItem : formItems) { if (!formItem.isFormField()) { String a = formItem.getName(); String fileName = new File(a).getName(); pathh = fileName; String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); formItem.write(storeFile); } else { String nameAttribute = formItem.getFieldName(); String valueAttribute = formItem.getString("UTF-8"); request.setAttribute(nameAttribute, valueAttribute); } } } } catch (Exception e) { e.printStackTrace(); return ""; } return pathh; }
From source file:dk.dma.msinm.legacy.nm.LegacyNmImportRestService.java
/** * Imports an uploaded NtM PDF file//from w w w .jav a2 s .com * * @param request the servlet request * @return a status */ @POST @Path("/upload-pdf") @Consumes(MediaType.MULTIPART_FORM_DATA) @Produces("application/json;charset=UTF-8") public String importPDF(@Context HttpServletRequest request) throws Exception { FileItemFactory factory = RepositoryService.newDiskFileItemFactory(servletContext); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { // NM PDF if (NmPdfExtractor.getFileNameMatcher(item.getName()).matches()) { StringBuilder txt = new StringBuilder(); importNmPdf(item.getInputStream(), item.getName(), txt); return txt.toString(); } else if (ActiveTempPrelimNmPdfExtractor.getFileNameMatcher(item.getName()).matches()) { // Active P&T NM PDF StringBuilder txt = new StringBuilder(); updateActiveNm(item.getInputStream(), item.getName(), txt); return txt.toString(); } } } return "No valid PDF uploaded"; }
From source file:egovframework.asadal.asapro.com.cmm.web.AsaproEgovMultipartResolver.java
/** * multipart? parsing? ./* www . ja va 2 s .co m*/ */ @SuppressWarnings("unchecked") @Override protected MultipartParsingResult parseFileItems(List fileItems, String encoding) { //? 3.0 MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>(); Map<String, String[]> multipartParameters = new HashMap<String, String[]>(); // Extract multipart files and multipart parameters. for (Iterator it = fileItems.iterator(); it.hasNext();) { FileItem fileItem = (FileItem) it.next(); if (fileItem.isFormField()) { String value = null; if (encoding != null) { try { value = fileItem.getString(encoding); } catch (UnsupportedEncodingException ex) { if (logger.isWarnEnabled()) { logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + encoding + "': using platform default"); } value = fileItem.getString(); } } else { value = fileItem.getString(); } String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName()); if (curParam == null) { // simple form field multipartParameters.put(fileItem.getFieldName(), new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(fileItem.getFieldName(), newParam); } } else { if (fileItem.getSize() > 0) { // multipart file field CommonsMultipartFile file = new CommonsMultipartFile(fileItem); //? 3.0 ? API? List<MultipartFile> fileList = new ArrayList<MultipartFile>(); fileList.add(file); if (!AsaproEgovWebUtil.checkAllowUploadFileExt(file.getOriginalFilename())) throw new MultipartException(" ? ? ."); if (multipartFiles.put(fileItem.getName(), fileList) != null) { // CHANGED!! throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver"); } if (logger.isDebugEnabled()) { logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename [" + file.getOriginalFilename() + "], stored " + file.getStorageDescription()); } } } } return new MultipartParsingResult(multipartFiles, multipartParameters, null); }
From source file:com.rubinefocus.admin.servlet.UploadProductImage.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request/* w ww. ja v a 2 s . com*/ * @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 { File f = new File(this.getServletContext().getRealPath("admin/assets/images/products")); String savePath = f.getPath(); savePath = savePath.replace("%20", " "); savePath = savePath.replace("build", ""); String fileName = ""; boolean isMultipart = ServletFileUpload.isMultipartContent(request); // process only if its multipart content if (isMultipart) { // Create a factory for disk-based file items FileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); try { // Parse the request List<FileItem> multiparts = upload.parseRequest(request); for (FileItem item : multiparts) { if (!item.isFormField()) { fileName = new File(item.getName()).getName(); File file = new File(savePath + "/" + fileName); if (file.exists()) { String fileNameWithOutExt = FilenameUtils.removeExtension(fileName); String ext = FilenameUtils.getExtension(fileName); fileName = fileNameWithOutExt + new SimpleDateFormat("dd-MM-yyyy HH:mm:ss").format(new Date()) + "." + ext; fileName = fileName.replace(" ", ""); fileName = fileName.replace("-", ""); fileName = fileName.replace(":", ""); item.write(new File(savePath + File.separator + fileName)); } else { item.write(new File(savePath + File.separator + fileName)); } Gson gson = new Gson(); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(gson.toJson(fileName)); } } } catch (Exception e) { e.printStackTrace(); } } }
From source file:edu.lafayette.metadb.web.dataman.ImportAdminDesc.java
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) *///from www . j a va2 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:egovframework.oe1.cms.com.web.EgovOe1MultipartResolver.java
/** * multipart? parsing? .// ww w . ja v a 2s . c om */ @SuppressWarnings("unchecked") @Override protected MultipartParsingResult parseFileItems(List fileItems, String encoding) { Map multipartFiles = new HashMap(); Map multipartParameters = new HashMap(); // Extract multipart files and multipart parameters. for (Iterator it = fileItems.iterator(); it.hasNext();) { FileItem fileItem = (FileItem) it.next(); if (fileItem.isFormField()) { String value = null; if (encoding != null) { try { value = fileItem.getString(encoding); } catch (UnsupportedEncodingException ex) { if (logger.isWarnEnabled()) { logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + encoding + "': using platform default"); } value = fileItem.getString(); } } else { value = fileItem.getString(); } String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName()); if (curParam == null) { // simple form field multipartParameters.put(fileItem.getFieldName(), new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(fileItem.getFieldName(), newParam); } } else { if (fileItem.getSize() > 0) { // multipart file field CommonsMultipartFile file = new CommonsMultipartFile(fileItem); if (multipartFiles.put(fileItem.getName(), file) != null) { // CHANGED!! throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver"); } if (logger.isDebugEnabled()) { logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename [" + file.getOriginalFilename() + "], stored " + file.getStorageDescription()); } } } } return new MultipartParsingResult((MultiValueMap<String, MultipartFile>) multipartFiles, (Map<String, String[]>) multipartParameters); }
From source file:com.duroty.application.bookmark.actions.BookmarkExtractorAction.java
protected ActionForward doExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors = new ActionMessages(); try {/*from w ww. j av a 2 s. c o m*/ boolean isMultipart = FileUpload.isMultipartContent(request); if (isMultipart) { Vector links = null; //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()) { String contents = IOUtils.toString(item.getInputStream()); links = Extractor.getLinks(contents, null); } } if ((links != null) && (links.size() > 0)) { Bookmark bookmarkInstance = getBookmarkInstance(request); bookmarkInstance.addBookmarks(links); } } else { errors.add("general", new ActionMessage(ExceptionCode.ERROR_MESSAGES_PREFIX + "general", "The form is null")); request.setAttribute("exception", "The form is 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); } 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); } }