List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload ServletFileUpload
public ServletFileUpload(FileItemFactory fileItemFactory)
FileItem
instances. From source file:edu.byui.fb.AddImage.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request//from www . j ava 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 { // Get the DataBaseHandler DataBaseHandler dbh = DataBaseHandler.getInstance(); // Get information about the user currently logged in boolean logged = (boolean) request.getSession().getAttribute("logged"); String username = (String) request.getSession().getAttribute("username"); User user = dbh.getUser(username); // Are we currently logged in if (username != null && user != null && logged) { // Check to make sure the request is multipart if (ServletFileUpload.isMultipartContent(request)) { try { // Parse the request into FileItems List<FileItem> multipart = new ServletFileUpload(new DiskFileItemFactory()) .parseRequest(request); String title = ""; InputStream imageInputStream = null; // Loop through each item for (FileItem item : multipart) { // Are we dealing with a file or something different if (!item.isFormField()) { if (item.getFieldName().equals("image")) { imageInputStream = item.getInputStream(); } } else if (item.isFormField()) { if (item.getFieldName().equals("title")) { title = item.getString(); } } } // Was there a title? If not, give a fake title if (title.equals("")) { title = "No title"; } // Set up the image and add to the DataBase. Image image = new Image(title, imageInputStream); dbh.addImage(image, user); request.setAttribute("imageAdded", true); } catch (FileUploadException ex) { Logger.getLogger(AddImage.class.getName()).log(Level.SEVERE, null, ex); } } } else { // Was there an error? request.setAttribute("addedError", true); } // Go to admin.jsp request.getRequestDispatcher("LoadImages?dest=admin.jsp").forward(request, response); }
From source file:com.bluelotussoftware.apache.commons.fileupload.example.FileUploadServlet.java
/** * Processes requests for both HTTP//from w w w . j a v a 2s . c om * <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 request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); boolean isMultiPart = ServletFileUpload.isMultipartContent(request); log("isMultipartContent: " + isMultiPart); log("Content-Type: " + request.getContentType()); if (isMultiPart) { // 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); // Parse the request List items = null; try { items = upload.parseRequest(request); } catch (FileUploadException ex) { log("Could not parse request", ex); } PrintWriter out = response.getWriter(); out.print("<html><head><title>SUCCESS</title></head><body><h1>DONE!</h1>"); ListIterator li = items.listIterator(); while (li.hasNext()) { FileItem fileItem = (FileItem) li.next(); if (fileItem.isFormField()) { processFormField(fileItem); } else { out.append(processUploadedFile(fileItem)); } } out.print("</body></html>"); out.flush(); out.close(); } }
From source file:com.controller.ChangeImageServlet.java
/** * Handles the HTTP <code>GET</code> method. * * @param request servlet request//from w w w . j ava 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 doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); // process only if it is multipart content String path = ""; 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()) { String name = new File(item.getName()).getName(); item.write(new File(UPLOAD_DIRECTORY + File.separator + name)); path = UPLOAD_DIRECTORY + File.separator + name; } } } catch (Exception e) { e.printStackTrace(); } } response.setContentType("text/plain"); response.getWriter().write(path); }
From source file:com.bluelotussoftware.apache.commons.fileupload.example.CommonsFileUploadServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); response.setContentType("text/html"); log("Content-Type: " + request.getContentType()); DiskFileItemFactory fileItemFactory = new DiskFileItemFactory(); /*/*from w w w . ja v a2 s .co m*/ *Set the size threshold, above which content will be stored on disk. */ fileItemFactory.setSizeThreshold(10 * 1024 * 1024); //10 MB /* * Set the temporary directory to store the uploaded files of size above threshold. */ fileItemFactory.setRepository(tmpDir); ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory); try { /* * Parse the request */ List items = uploadHandler.parseRequest(request); log("FileItems: " + items.toString()); Iterator itr = items.iterator(); while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); /* * Handle Form Fields. */ if (item.isFormField()) { out.println("File Name = " + item.getFieldName() + ", Value = " + item.getString()); } else { //Handle Uploaded files. out.println("<html><head><title>CommonsFileUploadServlet</title></head><body><p>"); out.println("Field Name = " + item.getFieldName() + "\nFile Name = " + item.getName() + "\nContent type = " + item.getContentType() + "\nFile Size = " + item.getSize()); out.println("</p>"); out.println("<img src=\"" + request.getContextPath() + "/files/" + item.getName() + "\"/>"); out.println("</body></html>"); /* * Write file to the ultimate location. */ File file = new File(destinationDir, item.getName()); item.write(file); } out.close(); } } catch (FileUploadException ex) { log("Error encountered while parsing the request", ex); } catch (Exception ex) { log("Error encountered while uploading file", ex); } }
From source file:fr.opensagres.xdocreport.document.web.UploadXDocReportServlet.java
/** * Handles all requests (by default)./*www . j a va 2 s .c om*/ * * @param request HttpServletRequest object containing client request * @param response HttpServletResponse object for the response */ protected void doUpload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); 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); // Parse the request try { @SuppressWarnings("unchecked") List<FileItem> items = upload.parseRequest(request); for (Iterator<FileItem> iterator = items.iterator(); iterator.hasNext();) { FileItem fileItem = (FileItem) iterator.next(); if ("uploadfile".equals(fileItem.getFieldName())) { InputStream in = fileItem.getInputStream(); try { String reportId = generateReportId(fileItem, request); IXDocReport report = getRegistryForUpload(request).loadReport(in, reportId); // Check if report id exists in global registry getRegistry(request).checkReportId(report.getId()); reportLoaded(report, request); doForward(report, request, response); break; } catch (XDocReportException e) { throw new ServletException(e); } } } } catch (FileUploadException e) { throw new ServletException(e); } } }
From source file:com.mycompany.mytubeaws.UploadServlet.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request/*from w ww . j a v a2 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 { String result = ""; String fileName = null; boolean uploaded = false; // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // sets memory threshold - beyond which files are stored in disk factory.setSizeThreshold(1024 * 1024 * 3); // 3mb factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); // sets temporary location to store files ServletFileUpload upload = new ServletFileUpload(factory); upload.setFileSizeMax(1024 * 1024 * 40); // sets maximum size of upload file upload.setSizeMax(1024 * 1024 * 50); // sets maximum size of request (include file + form data) try { List<FileItem> formItems = upload.parseRequest(request); // parses the request's content to extract file data 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()) { fileName = item.getName(); UUID id = UUID.randomUUID(); fileName = FilenameUtils.getBaseName(fileName) + "_ID-" + id.toString() + "." + FilenameUtils.getExtension(fileName); File file = File.createTempFile("aws-java-sdk-upload", ""); item.write(file); // write form item to file (?) if (file.length() == 0) throw new RuntimeException("No file selected or empty file uploaded."); try { s3.putObject(new PutObjectRequest(bucketName, fileName, file)); result += "File uploaded successfully; "; uploaded = true; } catch (AmazonServiceException ase) { System.out.println("Caught an AmazonServiceException, which means your request made it " + "to Amazon S3, but was rejected with an error response for some reason."); System.out.println("Error Message: " + ase.getMessage()); System.out.println("HTTP Status Code: " + ase.getStatusCode()); System.out.println("AWS Error Code: " + ase.getErrorCode()); System.out.println("Error Type: " + ase.getErrorType()); System.out.println("Request ID: " + ase.getRequestId()); result += "AmazonServiceException thrown; "; } catch (AmazonClientException ace) { System.out .println("Caught an AmazonClientException, which means the client encountered " + "a serious internal problem while trying to communicate with S3, " + "such as not being able to access the network."); System.out.println("Error Message: " + ace.getMessage()); result += "AmazonClientException thrown; "; } file.delete(); } } } } catch (Exception ex) { result += "Generic exception: '" + ex.getMessage() + "'; "; ex.printStackTrace(); } if (fileName != null && uploaded) result += "Generated file ID: " + fileName; System.out.println(result); request.setAttribute("resultText", result); request.getRequestDispatcher("/UploadResult.jsp").forward(request, response); }
From source file:com.liferay.apio.architect.impl.jaxrs.json.reader.MultipartBodyMessageBodyReader.java
@Override public Body readFrom(Class<Body> clazz, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, String> httpHeaders, InputStream entityStream) throws IOException { if (!isMultipartContent(_httpServletRequest)) { throw new BadRequestException("Request body is not a valid multipart form"); }//from w w w .jav a 2 s .c om FileItemFactory fileItemFactory = new DiskFileItemFactory(); ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory); try { List<FileItem> fileItems = servletFileUpload.parseRequest(_httpServletRequest); Iterator<FileItem> iterator = fileItems.iterator(); Map<String, String> values = new HashMap<>(); Map<String, BinaryFile> binaryFiles = new HashMap<>(); Map<String, Map<Integer, String>> indexedValueLists = new HashMap<>(); Map<String, Map<Integer, BinaryFile>> indexedFileLists = new HashMap<>(); while (iterator.hasNext()) { FileItem fileItem = iterator.next(); String name = fileItem.getFieldName(); Matcher matcher = _arrayPattern.matcher(name); if (matcher.matches()) { int index = Integer.parseInt(matcher.group(2)); String actualName = matcher.group(1); _storeFileItem(fileItem, value -> { Map<Integer, String> indexedMap = indexedValueLists.computeIfAbsent(actualName, __ -> new HashMap<>()); indexedMap.put(index, value); }, binaryFile -> { Map<Integer, BinaryFile> indexedMap = indexedFileLists.computeIfAbsent(actualName, __ -> new HashMap<>()); indexedMap.put(index, binaryFile); }); } else { _storeFileItem(fileItem, value -> values.put(name, value), binaryFile -> binaryFiles.put(name, binaryFile)); } } Map<String, List<String>> valueLists = _flattenMap(indexedValueLists); Map<String, List<BinaryFile>> fileLists = _flattenMap(indexedFileLists); return Body.create(key -> Optional.ofNullable(values.get(key)), key -> Optional.ofNullable(valueLists.get(key)), key -> Optional.ofNullable(fileLists.get(key)), key -> Optional.ofNullable(binaryFiles.get(key))); } catch (FileUploadException | IndexOutOfBoundsException | NumberFormatException e) { throw new BadRequestException("Request body is not a valid multipart form", e); } }
From source file:com.logica.SArchivo.java
public void subirArchivo(HttpServletRequest request) { factory.setSizeThreshold(1024);/*from www.ja v a 2 s. c om*/ factory.setRepository(new File(ubicacionArchivo)); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> partes = upload.parseRequest(request); for (FileItem item : partes) { File file = new File(ubicacionArchivo, item.getName()); item.write(file); this.leerCSV(file); } } catch (Exception ex) { Logger.getLogger(SArchivo.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.dlshouwen.wzgl.servlet.UploadPic.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String albumId = request.getParameter("albumId"); // String articleId = request.getParameter("articleId"); String type = request.getParameter("albumFlag"); // String isFile = request.getParameter("isFile"); // String isVideo = request.getParameter("isVideo"); PictureDao pictureDao = null;//from www.j av a 2 s . c om try { pictureDao = (PictureDao) SpringUtils.getBean("pictureDao"); } catch (Exception ex) { Logger.getLogger(UploadPic.class.getName()).log(Level.SEVERE, null, ex); } // String tempPath = SysConfigLoader.getSystemConfig().getProperty("imageTemp", "C:\\files\\temp"); // File dirTempFile = new File(tempPath); if (!dirTempFile.exists()) { dirTempFile.mkdirs(); } DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(20 * 1024 * 1024); //5M factory.setRepository(new File(tempPath)); // ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("UTF-8"); try { List items = upload.parseRequest(request); Iterator itr = items.iterator(); while (itr.hasNext()) { FileItem item = (FileItem) itr.next(); String fileName = item.getName(); if (!item.isFormField()) { InputStream is = null; synchronized (this) { try { is = item.getInputStream(); JSONObject jobj = FileUploadClient.upFile(request, fileName, is); String path = null; if (null != jobj && jobj.getString("responseMessage").equals("OK")) { if (StringUtils.isNotEmpty(jobj.getString("fpath"))) { String sourceURL = AttributeUtils.getAttributeContent( request.getServletContext(), "source_webapp_file_postion"); path = sourceURL + jobj.getString("fpath"); // filename = path.substring(path.lastIndexOf(File.separator) + 1); } } if (albumId != null && albumId.trim().length() > 0) { Picture pic = new Picture(); if (type != null) { pic.setFlag(type); } pic.setPicture_name(fileName); pic.setPath(path); pic.setAlbum_id(albumId); pic.setCreate_time(new Date()); SessionUser sessionUser = (SessionUser) request.getSession() .getAttribute(CONFIG.SESSION_USER); String userName = sessionUser.getUser_name(); pic.setUser_name(userName); pictureDao.insertPicture(pic); } String json = "{ \"state\": \"SUCCESS\",\"url\": \"" + path + "\",\"title\": \"" + fileName + "\",\"original\": \"" + fileName + "\"}"; response.setContentType("text/html;charset=utf-8"); response.setCharacterEncoding("UTF-8"); response.getWriter().print(json); } catch (Exception ex) { java.util.logging.Logger.getLogger(UploadPic.class.getName()).log(Level.SEVERE, null, ex); } finally { if (is != null) { is.close(); } } } } } } catch (FileUploadException e) { } }
From source file:com.surevine.alfresco.audit.listeners.UpdateDocumentMetadataAuditEventListener.java
@Override public void setSpecificAuditMetadata(final Auditable auditable, final HttpServletRequest request, final JSONObject json, final BufferedHttpServletResponse response) throws JSONException { setMetadataFromNodeRef(auditable, nodeRefResolver.getNodeRef(request.getRequestURI())); ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); upload.setHeaderEncoding("UTF-8"); final StringBuilder postContent = new StringBuilder(); String line;//from w w w .j a v a2 s . c o m try { final BufferedReader br = request.getReader(); while ((line = br.readLine()) != null) { postContent.append(line); } } catch (final IOException e) { logger.error("Failed to update audit record with tags.", e); } if (postContent.length() > 0) { final JSONObject jsonContent = new JSONObject(postContent.toString()); if (jsonContent.has("prop_cm_taggable")) { final String[] tags = jsonContent.getString("prop_cm_taggable").split(","); final List<String> tagList = new ArrayList<String>(tags.length); final NodeService nodeService = getNodeService(); for (final String tag : tags) { final NodeRef nodeRef = nodeRefResolver.getNodeRefFromGUID(tag); final String name = (String) nodeService.getProperty(nodeRef, ContentModel.PROP_NAME); tagList.add(name); } auditable.setTags(StringUtils.join(tagList.iterator(), ",")); } } }