List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory getRepository
public File getRepository()
From source file:br.com.caelum.vraptor.observer.upload.CommonsUploadMultipartObserver.java
protected ServletFileUpload createServletFileUpload(MultipartConfig config) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(config.getDirectory()); logger.debug("Using repository {} for file upload", factory.getRepository()); return new ServletFileUpload(factory); }
From source file:br.com.caelum.vraptor.interceptor.multipart.CommonsUploadMultipartInterceptor.java
protected FileItemFactory createFactoryForDiskBasedFileItems(File temporaryDirectory) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(temporaryDirectory); logger.debug("Using repository {} for file upload", factory.getRepository()); return factory; }
From source file:emsa.webcoc.cleanup.servlet.UploadServet.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from www . j a va 2s . c om*/ * * @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 { isMultipart = ServletFileUpload.isMultipartContent(request); response.setContentType("text/html"); PrintWriter out = response.getWriter(); if (!isMultipart) { out.println("<html>"); out.println("<head>"); out.println("<title>XML file clean up</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 into memory factory.setSizeThreshold(MAXMEMSIZE); //Path to save file if its size is bigger than MAXMEMSIZE factory.setRepository(new File(REPOSITORY)); ServletFileUpload upload = new ServletFileUpload(factory); out.println("<html>"); out.println("<head>"); out.println("<title>XML file clean up</title>"); out.println("</head>"); out.println("<body>"); try { List<FileItem> fileItems = upload.parseRequest(request); Iterator<FileItem> t = fileItems.iterator(); while (t.hasNext()) { FileItem f = t.next(); if (!f.isFormField()) { if (f.getContentType().equals("text/xml")) { //Check weather or not the uploaded file is an XML file String uniqueFileName = f.getName() + "-" + request.getSession().getId() + ".xml"; //Creates unique name String location = (String) this.getServletContext().getAttribute("newFileLocation"); CoCCleanUp clean = new CoCCleanUp(uniqueFileName, location); if (clean.cleanDocument(f.getInputStream()) == 0) { out.println("<h3>" + f.getName() + " was clean</h3>"); out.println(clean.printHTMLStatistics()); out.println("<br /><form action='download?filename=" + uniqueFileName + "' method='post'><input type='submit' value='Download'/></form></body></html>"); } else { out.println("<h3>" + clean.getErrorMessage() + "</h3>"); out.println( "<br /><form action='index.html' method='post'><input type='submit' value='Go Back'/></form></body></html>"); } } else { out.println("<h3>The file " + f.getName() + " is not an xml file</h3>"); out.println( "<br /><form action='index.html' method='post'><input type='submit' value='Go Back'/></form></body></html>"); logger.warn("The file " + f.getName() + " is not an xml file: " + f.getContentType()); } } } File repository = factory.getRepository(); cleanTmpFiles(repository); } catch (IOException | FileUploadException e) { out.println("<h3>Something went wrong</h3></br>"); out.println( "<br /><form action='index.html' method='post'><input type='submit' value='Go Back'/></form></body></html>"); } }
From source file:org.exoplatform.document.upload.handle.UploadMultipartHandler.java
@Override public List<Document> parseHttpRequest(HttpServletRequest request) throws SizeLimitExceededException, FileUploadException { if (logger.isDebugEnabled()) { logger.info("Parse file item form HTTP servlet request."); }/*from w ww. j av a 2 s. c o m*/ Document document = null; List<Document> documents = new ArrayList<Document>(); boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) return documents; File repository = FileUtils.forceMkdir(FilePathUtils.REPOSITORY_PATH); if (repository != null) logger.info("The" + FilePathUtils.REPOSITORY_PATH + " Directory is created"); if (FileUtils.forceMkdir(FilePathUtils.RESOURCE_PATH) != null) logger.info("To create specified sub-folder under " + FilePathUtils.ROOT_PATH + " top-level folder"); // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(MEMORY_CACHE_SIZE); factory.setRepository(repository); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(MAXIMUM_FILE_SIZE); try { List<FileItem> items = upload.parseRequest(request); Iterator<FileItem> iterator = items.iterator(); while (iterator.hasNext()) { FileItem fileItem = iterator.next(); if (!fileItem.isFormField()) { // Write file items to disk-based String absolutePath = writeFiles(fileItem, fileItem.getName()); document = Document.getInstance(); document.setFilename(fileItem.getName()); document.setContentType(fileItem.getContentType()); document.setSize(fileItem.getSize()); document.setUrl(absolutePath); document.setReadOnly(false); document.setArchive(false); document.setDirectory(false); document.setHidden(false); document.setSystem(false); document.setOther(false); document.setRegularFile(false); Date time = Calendar.getInstance().getTime(); document.setCreationTime(time); document.setLastAccessTime(time); document.setLastModifiedTime(time); documents.add(document); logger.info("File(s) " + document.getFilename() + " was/were uploaded successfully"); } } } catch (SizeLimitExceededException slee) { throw new SizeLimitExceededException( "The request was rejected because its size exceeds (" + slee.getActualSize() + "bytes) the configured maximum (" + slee.getPermittedSize() + "bytes)"); } catch (FileUploadException fue) { throw new FileUploadException("Upload file stream was been cancelled", fue.getCause()); } finally { try { FileUtils.cleanDirectory(factory.getRepository()); logger.info("Cleans a directory without deleting it"); } catch (IOException ex) { logger.warn(ex.getMessage(), ex); } } return documents; }