List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory setRepository
public void setRepository(File repository)
From source file:application.controllers.admin.EmotionList.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //upload image to browser for add emotions //upload image to browser for add emotions if (!ServletFileUpload.isMultipartContent(request)) { PrintWriter writer = response.getWriter(); writer.println("Request does not contain upload data"); writer.flush();//from w w w . j a v a 2 s .c om return; } // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(UploadConstant.THRESHOLD_SIZE); // Location to save data that is larger than maxMemSize. factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setFileSizeMax(UploadConstant.MAX_FILE_SIZE); upload.setSizeMax(UploadConstant.MAX_REQUEST_SIZE); // constructs the directory path to store upload file // String uploadPath = Registry.get("Host") +"/emotions-image/"+ UPLOAD_DIRECTORY; String uploadPath = Registry.get("imageHost") + "/emotions-image/" + UploadConstant.UPLOAD_DIRECTORY; // creates the directory if it does not exist File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } //list image user upload String[] arrLinkImage = null; try { int indexImage = 0; // parses the request's content to extract file data List formItems = upload.parseRequest(request); arrLinkImage = new String[formItems.size()]; Iterator iter = formItems.iterator(); // iterates over form's fields while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); // processes only fields that are not form fields if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); String extensionImage = ""; for (int i = fileName.length() - 1; i >= 0; i--) { if (fileName.charAt(i) == '.') { break; } else { extensionImage = fileName.charAt(i) + extensionImage; } } String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); String fieldName = item.getFieldName(); // saves the file on disk item.write(storeFile); arrLinkImage[indexImage++] = item.getName(); } } } catch (Exception ex) { request.setAttribute("message", "There was an error: " + ex.getMessage()); } // request.setAttribute("arrLinkImage", arrLinkImage); // RequestDispatcher rd = request.getRequestDispatcher("/groupEmotion/emotion/add"); // rd.forward(request, response); // String sessionId = request.getAttribute("sessionIdAdmin").toString(); String sessionId = request.getSession().toString(); String groupId = request.getParameter("groupId"); Memcached.set("arrLinkImage-" + sessionId, 3600, arrLinkImage); response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); response.setHeader("Location", Registry.get("Host") + "/groupEmotion/emotion/add?groupId=" + groupId); response.setContentType("text/html"); }
From source file:com.siberhus.web.ckeditor.servlet.MultipartServletRequest.java
public MultipartServletRequest(HttpServletRequest request) throws FileUploadException { super(request); // if(!"POST".equals(request.getMethod())){ // return; // }//from ww w .j a va 2 s.co m CkeditorConfig config = CkeditorConfigurationHolder.config(); // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); // Set factory constraints if (config.fileupload().sizeThreshold() != null) { factory.setSizeThreshold(config.fileupload().sizeThreshold()); } if (config.fileupload().repository() != null) { factory.setRepository(config.fileupload().repository()); } // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Set overall request size constraint if (config.fileupload().sizeMax() != null) { upload.setSizeMax(config.fileupload().sizeMax()); } if (config.fileupload().fileSizeMax() != null) { upload.setFileSizeMax(config.fileupload().fileSizeMax()); } // Copy params from query string Enumeration<String> paramNames = request.getParameterNames(); while (paramNames.hasMoreElements()) { String paramName = paramNames.nextElement(); String paramValues[] = request.getParameterValues(paramName); if (paramValues != null) { this.paramMap.put(paramName, Literal.list(paramValues)); } } @SuppressWarnings("unchecked") List<FileItem> itemList = upload.parseRequest(request); for (FileItem item : itemList) { String fieldName = item.getFieldName(); if (item.isFormField()) { List<String> values = paramMap.get(fieldName); if (values == null) { paramMap.put(fieldName, Literal.list(item.getString())); } else { values.add(item.getString()); } } else { fileItemMap.put(fieldName, item); fileItems.add(item); } } }
From source file:bijian.util.upload.MyMultiPartRequest.java
private DiskFileItemFactory createDiskFileItemFactory(String saveDir) { DiskFileItemFactory fac = new DiskFileItemFactory(); // Make sure that the data is written to file fac.setSizeThreshold(0);// w ww .j a v a 2 s . c o m if (saveDir != null) { fac.setRepository(new File(saveDir)); } return fac; }
From source file:com.orinus.script.safe.jetty.SRequest.java
public void parseMultipartContent() { if (formFields != null && formFiles != null && formFileData != null) return;//w w w . j av a 2 s . c om formFields = new HashMap<String, String>(); formFiles = new HashMap<String, FileEntry>(); formFileData = new HashMap<String, String>(); try { DiskFileItemFactory factory = new DiskFileItemFactory(); Controller controller = new Controller(); factory.setRepository(new File(controller.getTempDir())); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(req); for (int i = 0; i < items.size(); i++) { FileItem item = (FileItem) items.get(i); if (item.isFormField()) { formFields.put(item.getFieldName(), item.getString()); } else { FileEntry fe = new FileEntry(); fe.fieldName = item.getFieldName(); fe.contentType = item.getContentType(); fe.filename = new File(item.getName()).getName(); fe.fileSize = item.getSize(); String filename = new File(controller.getTempDir(), fe.filename).getAbsolutePath(); item.write(new File(filename)); formFiles.put(fe.fieldName, fe); formFileData.put(fe.fieldName, filename); } } } catch (Exception e) { } }
From source file:edu.gmu.csiss.automation.pacs.servlet.FileUploadServlet.java
/** * Processes requests for both HTTP/*from w w w.j a v a 2 s.c o m*/ * <code>GET</code> and * <code>POST</code> methods. * * @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 req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/plain;charset=gbk"); res.setContentType("text/html; charset=utf-8"); PrintWriter pw = res.getWriter(); try { //initialize the prefix url if (prefix_url == null) { // String hostname = req.getServerName (); // int port = req.getServerPort (); // prefix_url = "http://"+hostname+":"+port+"/igfds/"+relativePath+"/"; //updated by Ziheng - on 8/27/2015 //This method should be used everywhere. int num = req.getRequestURI().indexOf("/PACS"); String prefix = req.getRequestURI().substring(0, num + "/PACS".length()); //in case there is something before PACS prefix_url = req.getScheme() + "://" + req.getServerName() + ("http".equals(req.getScheme()) && req.getServerPort() == 80 || "https".equals(req.getScheme()) && req.getServerPort() == 443 ? "" : ":" + req.getServerPort()) + prefix + "/" + relativePath + "/"; } pw.println("<!DOCTYPE html>"); pw.println("<html>"); String head = "<head>" + "<title>File Uploading Response</title>" + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">" + "<script type=\"text/javascript\" src=\"js/TaskGridTool.js\"></script>" + "</head>"; pw.println(head); pw.println("<body>"); DiskFileItemFactory diskFactory = new DiskFileItemFactory(); // threshold 2M //extend to 2M - updated by ziheng - 9/25/2014 diskFactory.setSizeThreshold(2 * 1024); // repository diskFactory.setRepository(new File(tempPath)); ServletFileUpload upload = new ServletFileUpload(diskFactory); // 2M upload.setSizeMax(2 * 1024 * 1024); // HTTP List fileItems = upload.parseRequest(req); Iterator iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { processFormField(item, pw); } else { processUploadFile(item, pw); } } // end while() //add some buttons for further process pw.println("<input type=\"button\" id=\"bt\" value=\"load\" onclick=\"load();\">"); pw.println("<input type=\"button\" id=\"close\" value=\"close window\" onclick=\"window.close();\">"); pw.println("</body>"); pw.println("</html>"); } catch (Exception e) { e.printStackTrace(); pw.println("ERR:" + e.getClass().getName() + ":" + e.getLocalizedMessage()); } finally { pw.flush(); pw.close(); } }
From source file:ke.co.tawi.babblesms.server.servlet.upload.ContactUpload.java
/** * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */// w w w.ja v a 2 s. c o m @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { File uploadedFile = null; List<String> groupUuids = new LinkedList<>(); Account account = new Account(); HttpSession session = request.getSession(false); String username = (String) session.getAttribute(SessionConstants.ACCOUNT_SIGN_IN_KEY); Element element; if ((element = accountsCache.get(username)) != null) { account = (Account) element.getObjectValue(); } // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); // Set up where the files will be stored on disk File repository = new File(System.getProperty("java.io.tmpdir") + File.separator + username); FileUtils.forceMkdir(repository); factory.setRepository(repository); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Parse the request try { List<FileItem> items = upload.parseRequest(request); Iterator<FileItem> iter = items.iterator(); FileItem item; while (iter.hasNext()) { item = iter.next(); if (item.isFormField()) { // Here we assume only a Group UUID has been submitted as a text field groupUuids.add(item.getString()); } else { uploadedFile = processUploadedFile(item); } } // end 'while (iter.hasNext())' } catch (FileUploadException e) { logger.error("FileUploadException while getting File Items."); logger.error(e); } // Here we assume that only one file was uploaded // First we inspect if it is ok String feedback = uploadUtil.inspectContactFile(uploadedFile); session.setAttribute(UPLOAD_FEEDBACK, "<p class='error'>" + feedback + "<p>"); response.sendRedirect("addcontact.jsp"); // Process the file into the database if it is ok if (StringUtils.equals(feedback, UPLOAD_SUCCESS)) { uploadUtil.saveContacts(uploadedFile, account, contactDAO, phoneDAO, groupUuids, contactGroupDAO); } }
From source file:controlador.SerCandidato.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); //ruta relativa en donde se guardan las fotos de candidatos String ruta = getServletContext().getRealPath("/") + "images/files/candidatos/"; //Partido p = new Partido(); Candidato c = new Candidato(); int accion = 1; //1=gregar 2=modificar if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setSizeThreshold(40960); File repositoryPath = new File("/temp"); diskFileItemFactory.setRepository(repositoryPath); ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory); servletFileUpload.setSizeMax(81920); // bytes upload.setSizeMax(307200); // 1024 x 300 = 307200 bytes = 300 Kb List listUploadFiles = null; FileItem item = null;// ww w . j a va2s. co m try { listUploadFiles = upload.parseRequest(request); Iterator it = listUploadFiles.iterator(); while (it.hasNext()) { item = (FileItem) it.next(); if (!item.isFormField()) { if (item.getSize() > 0) { String nombre = item.getName(); String tipo = item.getContentType(); long tamanio = item.getSize(); String extension = nombre.substring(nombre.lastIndexOf(".")); File archivo = new File(ruta, nombre); item.write(archivo); if (archivo.exists()) { c.setFoto(nombre); } else { out.println("FALLO AL GUARDAR. NO EXISTE " + archivo.getAbsolutePath() + "</p>"); } } } else { //se reciben los campos de texto enviados y se igualan a los atributos del objeto if (item.getFieldName().equals("slPartido")) { c.setIdPartido(Integer.parseInt(item.getString())); } if (item.getFieldName().equals("slDepartamento")) { c.setIdDepartamento(Integer.parseInt(item.getString())); } if (item.getFieldName().equals("txtDui")) { c.setNumDui(item.getString()); } if (item.getFieldName().equals("txtId")) { c.setIdCandidato(Integer.parseInt(item.getString())); } if (item.getFieldName().equals("txtTipo")) { //definimos que el candidato es tipo 1 (Partidario) c.setTipo(Integer.parseInt(item.getString())); } } } //si no se selecciono una imagen distinta, se conserva la imagen anterior if (c.getFoto() == null) { c.setFoto(CandidatoDTO.mostrarCandidato(c.getIdCandidato()).getFoto()); } //cuando se presiona el boton de agregar if (c.getIdCandidato() == 0) { if (CandidatoDTO.agregarCandidato(c)) { //candidato partidario = 1 //candidato independiente = 2 if (c.getTipo() == 1) { //crud de canidatos partidadios response.sendRedirect(this.redireccionJSP); } else { //crud de canidatos independientes response.sendRedirect(this.redireccionJSP2); } } else { //cambiar por alguna accion en caso de error out.print("Error al insertar"); } } //cuando se presiona el boton de modificar else { if (CandidatoDTO.modificarCandidato(c)) { if (c.getTipo() == 1) { //crud de canidatos partidadios response.sendRedirect(this.redireccionJSP); } else { //crud de canidatos independientes response.sendRedirect(this.redireccionJSP2); } } else { out.print("Error al modificar"); } } } catch (FileUploadException e) { out.println("Error Upload: " + e.getMessage()); e.printStackTrace(); } catch (Exception e) { out.println("Error otros: " + e.getMessage()); e.printStackTrace(); } } }
From source file:Com.Dispatcher.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request/*ww w .ja va2 s.c om*/ * @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 file; Boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { return; } // Create a session object if it is already not created. HttpSession session = request.getSession(true); // Get session creation time. Date createTime = new Date(session.getCreationTime()); // Get last access time of this web page. Date lastAccessTime = new Date(session.getLastAccessedTime()); String visitCountKey = new String("visitCount"); String userIDKey = new String("userID"); String userID = new String("ABCD"); Integer visitCount = (Integer) session.getAttribute(visitCountKey); // Check if this is new comer on your web page. if (visitCount == null) { session.setAttribute(userIDKey, userID); } else { visitCount++; userID = (String) session.getAttribute(userIDKey); } session.setAttribute(visitCountKey, visitCount); 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(fileRepository)); // 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(); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); String fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file to server in "/uploads/{sessionID}/" String clientDataPath = getServletContext().getInitParameter("clientFolder"); // TODO clear the client folder here // FileUtils.deleteDirectory(new File("clientDataPath")); if (fileName.lastIndexOf("\\") >= 0) { File input = new File(clientDataPath + session.getId() + "/input/"); input.mkdirs(); File output = new File(clientDataPath + session.getId() + "/output/"); output.mkdirs(); session.setAttribute("inputFolder", clientDataPath + session.getId() + "/input/"); session.setAttribute("outputFolder", clientDataPath + session.getId() + "/output/"); file = new File( input.getAbsolutePath() + "/" + fileName.substring(fileName.lastIndexOf("/"))); } else { File input = new File(clientDataPath + session.getId() + "/input/"); input.mkdirs(); File output = new File(clientDataPath + session.getId() + "/output/"); output.mkdirs(); session.setAttribute("inputFolder", clientDataPath + session.getId() + "/input/"); session.setAttribute("outputFolder", clientDataPath + session.getId() + "/output/"); file = new File( input.getAbsolutePath() + "/" + fileName.substring(fileName.lastIndexOf("/") + 1)); } fi.write(file); } } } catch (Exception ex) { System.out.println("Failure: File Upload"); System.out.println(ex); //TODO show error page for website } System.out.println("file uploaded"); // TODO make the fileRepository Folder generic so it doesnt need to be changed // for each migration of the program to a different server File input = new File((String) session.getAttribute("inputFolder")); File output = new File((String) session.getAttribute("outputFolder")); File profile = new File(getServletContext().getInitParameter("profileFolder")); File hintsXML = new File(getServletContext().getInitParameter("hintsXML")); System.out.println("folders created"); Controller controller = new Controller(input, output, profile, hintsXML); HashMap initialArtifacts = controller.initialArtifacts(); session.setAttribute("Controller", controller); System.out.println("Initialisation of profiles for session (" + session.getId() + ") is complete\n" + "Awaiting user to update parameters to generate next generation of results.\n"); String json = new Gson().toJson(initialArtifacts); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); }
From source file:controller.uploadImage.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w w w. ja v a 2 s . 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, Exception { response.setContentType("text/html;charset=UTF-8"); //ArrayList<String> ls=new ArrayList(); try (PrintWriter out = response.getWriter()) { //if (!ServletFileUpload.isMultipartContent(request)) { //if not, we stop here //PrintWriter writer = response.getWriter(); //writer.println("Error: Form must has enctype=multipart/form-data."); //writer.flush(); //return; //} // configures upload settings HttpSession ssn = request.getSession(); DiskFileItemFactory factory = new DiskFileItemFactory(); // sets memory threshold - beyond which files are stored in disk factory.setSizeThreshold(MEMORY_THRESHOLD); // sets temporary location to store files factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // sets maximum size of request (include file + form data) upload.setSizeMax(MAX_REQUEST_SIZE); // constructs the directory path to store upload file // this path is relative to application's directory String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY; // creates the directory if it does not exist File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } try { // parses the request's content to extract file data @SuppressWarnings("unchecked") List<FileItem> formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { // iterates over form's fields for (FileItem item : formItems) { // processes only fields that are not form fields if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); // saves the file on disk if (storeFile.exists()) { ssn.setAttribute("uploadMsg", "File exists"); response.sendRedirect("register.htm?name=index"); } else { //if(item.isInMemory()) item.write(storeFile); ssn.setAttribute("imgname", storeFile.getName()); ssn.setAttribute("uploadMsg", "File uploded"); response.sendRedirect("register.htm?name=null"); } } else { ssn.setAttribute(item.getFieldName(), item.getString()); } } } } catch (Exception ex) { ssn.setAttribute("uploadMsg", ex.getMessage()); response.sendRedirect("register.htm?name=index"); } } }
From source file:com.glaf.core.web.servlet.FileUploadServlet.java
public void upload(HttpServletRequest request, HttpServletResponse response) { response.setContentType("text/html;charset=UTF-8"); LoginContext loginContext = RequestUtils.getLoginContext(request); if (loginContext == null) { return;/*from ww w. jav a 2 s . c om*/ } String serviceKey = request.getParameter("serviceKey"); String type = request.getParameter("type"); if (StringUtils.isEmpty(type)) { type = "0"; } Map<String, Object> paramMap = RequestUtils.getParameterMap(request); logger.debug("paramMap:" + paramMap); String rootDir = SystemProperties.getConfigRootPath(); InputStream inputStream = null; try { DiskFileItemFactory diskFactory = new DiskFileItemFactory(); // threshold ???? 8M diskFactory.setSizeThreshold(8 * FileUtils.MB_SIZE); // repository diskFactory.setRepository(new File(rootDir + "/temp")); ServletFileUpload upload = new ServletFileUpload(diskFactory); int maxUploadSize = conf.getInt(serviceKey + ".maxUploadSize", 0); if (maxUploadSize == 0) { maxUploadSize = conf.getInt("upload.maxUploadSize", 50);// 50MB } maxUploadSize = maxUploadSize * FileUtils.MB_SIZE; logger.debug("maxUploadSize:" + maxUploadSize); upload.setHeaderEncoding("UTF-8"); upload.setSizeMax(maxUploadSize); upload.setFileSizeMax(maxUploadSize); String uploadDir = Constants.UPLOAD_PATH; if (ServletFileUpload.isMultipartContent(request)) { logger.debug("#################start upload process#########################"); FileItemIterator iter = upload.getItemIterator(request); PrintWriter out = response.getWriter(); while (iter.hasNext()) { FileItemStream item = iter.next(); if (!item.isFormField()) { // ???? String autoCreatedDateDirByParttern = "yyyy/MM/dd"; String autoCreatedDateDir = DateFormatUtils.format(new java.util.Date(), autoCreatedDateDirByParttern); File savePath = new File(rootDir + uploadDir + autoCreatedDateDir); if (!savePath.exists()) { savePath.mkdirs(); } String fileId = UUID32.getUUID(); String fileName = savePath + "/" + fileId; BlobItem dataFile = new BlobItemEntity(); dataFile.setLastModified(System.currentTimeMillis()); dataFile.setCreateBy(loginContext.getActorId()); dataFile.setFileId(fileId); dataFile.setPath(uploadDir + autoCreatedDateDir + "/" + fileId); dataFile.setFilename(item.getName()); dataFile.setName(item.getName()); dataFile.setContentType(item.getContentType()); dataFile.setType(type); dataFile.setStatus(0); dataFile.setServiceKey(serviceKey); getBlobService().insertBlob(dataFile); inputStream = item.openStream(); FileUtils.save(fileName, inputStream); logger.debug(fileName + " save ok."); out.print(fileId); } } } } catch (Exception ex) { ex.printStackTrace(); } finally { IOUtils.close(inputStream); } }