List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload setSizeMax
public void setSizeMax(long sizeMax)
From source file:com.liferay.util.servlet.UploadServletRequest.java
public UploadServletRequest(HttpServletRequest req) throws IOException { super(req);//from www. j a va 2s. c om _params = new LinkedHashMap(); try { //DiskFileUpload diskFileUpload = new DiskFileUpload( // new LiferayFileItemFactory(DEFAULT_TEMP_DIR)); ServletFileUpload diskFileUpload = new LiferayDiskFileUpload( new LiferayFileItemFactory(DEFAULT_TEMP_DIR), req); diskFileUpload.setSizeMax(DEFAULT_SIZE_MAX); List list = diskFileUpload.parseRequest(req); for (int i = 0; i < list.size(); i++) { LiferayFileItem fileItem = (LiferayFileItem) list.get(i); if (fileItem.isFormField()) { fileItem.setString(req.getCharacterEncoding()); } LiferayFileItem[] fileItems = (LiferayFileItem[]) _params.get(fileItem.getFieldName()); if (fileItems == null) { fileItems = new LiferayFileItem[] { fileItem }; } else { LiferayFileItem[] newFileItems = new LiferayFileItem[fileItems.length + 1]; System.arraycopy(fileItems, 0, newFileItems, 0, fileItems.length); newFileItems[newFileItems.length - 1] = fileItem; fileItems = newFileItems; } _params.put(fileItem.getFieldName(), fileItems); if (fileItem.getFileName() != null) _params.put(fileItem.getFileName(), new LiferayFileItem[] { fileItem }); } } catch (FileUploadException fue) { Logger.error(this, fue.getMessage(), fue); } }
From source file:admin.controller.ServletEditCategories.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*ww w.j a va2 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 */ @Override public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { upload_path = AppConstants.ORG_CATEGORIES_HOME; // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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(AppConstants.TMP_FOLDER)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // 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>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters field_name = fi.getFieldName(); if (field_name.equals("category_name")) { category_name = fi.getString(); } if (field_name.equals("category_id")) { category_id = fi.getString(); } if (field_name.equals("organization")) { organization_id = fi.getString(); upload_path = upload_path + File.separator + organization_id; } } else { field_name = fi.getFieldName(); file_name = fi.getName(); if (file_name != "") { File uploadDir = new File(upload_path); if (!uploadDir.exists()) { uploadDir.mkdirs(); } // int inStr = file_name.indexOf("."); // String Str = file_name.substring(0, inStr); // // file_name = category_name + "_" + Str + ".jpeg"; file_name = category_name + "_" + file_name; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String filePath = upload_path + File.separator + file_name; File storeFile = new File(filePath); fi.write(storeFile); out.println("Uploaded Filename: " + filePath + "<br>"); } } } categories.editCategories(Integer.parseInt(category_id), Integer.parseInt(organization_id), category_name, file_name); response.sendRedirect(request.getContextPath() + "/admin/categories.jsp"); out.println("</body>"); out.println("</html>"); } else { 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>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while editing categories", ex); } finally { try { out.close(); } catch (Exception e) { } } }
From source file:admin.controller.ServletAddCategories.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//from w w w .j av a 2 s .com * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { String uploadPath = AppConstants.ORG_CATEGORIES_HOME; // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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(AppConstants.TMP_FOLDER)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // 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>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters field_name = fi.getFieldName(); if (field_name.equals("category_name")) { category_name = fi.getString(); } if (field_name.equals("organization")) { organization_id = fi.getString(); uploadPath = uploadPath + File.separator + organization_id; } } else { field_name = fi.getFieldName(); file_name = fi.getName(); if (file_name != "") { check = categories.checkAvailability(category_name, Integer.parseInt(organization_id)); if (check == false) { File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdirs(); } //we need to save file name directly // int inStr = file_name.indexOf("."); // String Str = file_name.substring(0, inStr); // file_name = category_name + "_" + Str + ".jpeg"; file_name = category_name + "_" + file_name; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String filePath = uploadPath + File.separator + file_name; File storeFile = new File(filePath); fi.write(storeFile); categories.addCategories(Integer.parseInt(organization_id), category_name, file_name); out.println("Uploaded Filename: " + filePath + "<br>"); response.sendRedirect(request.getContextPath() + "/admin/categories.jsp"); } else { response.sendRedirect( request.getContextPath() + "/admin/categories.jsp?exist=exist"); } } } } out.println("</body>"); out.println("</html>"); } else { 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>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while adding categories", ex); } finally { out.close(); } }
From source file:com.github.davidcarboni.encryptedfileupload.SizesTest.java
@Test public void testMaxSizeLimitUnknownContentLength() throws IOException, FileUploadException { final String request = "-----1234\r\n" + "Content-Disposition: form-data; name=\"file1\"; filename=\"foo1.tab\"\r\n" + "Content-Type: text/whatever\r\n" + "Content-Length: 10\r\n" + "\r\n" + "This is the content of the file\n" + "\r\n" + "-----1234\r\n" + "Content-Disposition: form-data; name=\"file2\"; filename=\"foo2.tab\"\r\n" + "Content-Type: text/whatever\r\n" + "\r\n" + "This is the content of the file\n" + "\r\n" + "-----1234--\r\n"; ServletFileUpload upload = new ServletFileUpload(new EncryptedFileItemFactory()); upload.setFileSizeMax(-1);// w w w . j a v a 2s . c o m upload.setSizeMax(300); // the first item should be within the max size limit // set the read limit to 10 to simulate a "real" stream // otherwise the buffer would be immediately filled MockHttpServletRequest req = new MockHttpServletRequest(request.getBytes("US-ASCII"), CONTENT_TYPE); req.setContentLength(-1); req.setReadLimit(10); FileItemIterator it = upload.getItemIterator(req); assertTrue(it.hasNext()); FileItemStream item = it.next(); assertFalse(item.isFormField()); assertEquals("file1", item.getFieldName()); assertEquals("foo1.tab", item.getName()); { @SuppressWarnings("resource") // Streams.copy closes the input file InputStream stream = item.openStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); Streams.copy(stream, baos, true); } // the second item is over the size max, thus we expect an error try { // the header is still within size max -> this shall still succeed assertTrue(it.hasNext()); } catch (Exception e) { // FileUploadBase.SizeException has protected access: if (e.getClass().getSimpleName().equals("SizeException")) { fail(); } else { throw e; } } item = it.next(); try { @SuppressWarnings("resource") // Streams.copy closes the input file InputStream stream = item.openStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); Streams.copy(stream, baos, true); fail(); } catch (FileUploadIOException e) { // expected } }
From source file:it.univaq.servlet.Upload_rist.java
protected boolean action_upload(HttpServletRequest request) throws FileUploadException, Exception { HttpSession s = SecurityLayer.checkSession(request); //dichiaro mappe Map rist = new HashMap(); //prendo id pubblicazione dalla request if (ServletFileUpload.isMultipartContent(request)) { Map files = new HashMap(); int idpubb = Integer.parseInt(request.getParameter("id")); //La dimensione massima di ogni singolo file su system int dimensioneMassimaDelFileScrivibieSulFileSystemInByte = 10 * 1024 * 1024; // 10 MB //Dimensione massima della request int dimensioneMassimaDellaRequestInByte = 20 * 1024 * 1024; // 20 MB // Creo un factory per l'accesso al filesystem DiskFileItemFactory factory = new DiskFileItemFactory(); //Setto la dimensione massima di ogni file, opzionale factory.setSizeThreshold(dimensioneMassimaDelFileScrivibieSulFileSystemInByte); // Istanzio la classe per l'upload ServletFileUpload upload = new ServletFileUpload(factory); // Setto la dimensione massima della request upload.setSizeMax(dimensioneMassimaDellaRequestInByte); // Parso la riquest della servlet, mi viene ritornata una lista di FileItem con // tutti i field sia di tipo file che gli altri List<FileItem> items = upload.parseRequest(request); /*/*ww w .j av a 2 s . com*/ * La classe usata non permette di riprendere i singoli campi per * nome quindi dovremmo scorrere la lista che ci viene ritornata con * il metodo parserequest */ //scorro per tutti i campi inviati for (int i = 0; i < items.size(); i++) { FileItem item = items.get(i); // Controllo se si tratta di un campo di input normale if (item.isFormField()) { // Prendo solo il nome e il valore String name = item.getFieldName(); String value = item.getString(); if (name.equals("isbn") || name.equals("editore") || name.equals("lingua") || name.equals("numpagine") || name.equals("datapub")) { rist.put(name, value); } } // Se si stratta invece di un file else { // Dopo aver ripreso tutti i dati disponibili name,type,size //String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); long sizeInBytes = item.getSize(); //li salvo nella mappa files.put("name", fileName); files.put("type", contentType); files.put("size", sizeInBytes); //li scrivo nel db //Database.connect(); Database.insertRecord("files", files); //Database.close(); // Posso scriverlo direttamente su filesystem if (true) { File uploadedFile = new File( getServletContext().getInitParameter("uploads.directory") + fileName); // Solo se veramente ho inviato qualcosa if (item.getSize() > 0) { item.write(uploadedFile); } } //prendo id del file se stato inserito ResultSet rs1 = Database.selectRecord("files", "name='" + files.get("name") + "'"); if (!isNull(rs1)) { while (rs1.next()) { rist.put("download", rs1.getInt("id")); } } } } rist.put("idpub", idpubb); //inserisco dati in tab ristampa Database.insertRecord("ristampa", rist); return true; } else return false; }
From source file:admin.controller.ServletAddPersonality.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w ww .j a v a 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 */ public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { String uploadPath = AppConstants.BRAND_IMAGES_HOME; // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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("/tmp")); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // 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>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters field_name = fi.getFieldName(); if (field_name.equals("brandname")) { brand_name = fi.getString(); } if (field_name.equals("look")) { look_id = fi.getString(); } } else { check = brand.checkAvailability(brand_name); if (check == false) { field_name = fi.getFieldName(); file_name = fi.getName(); File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdirs(); } // int inStr = file_name.indexOf("."); // String Str = file_name.substring(0, inStr); // file_name = brand_name + "_" + Str + ".jpeg"; file_name = brand_name + "_" + file_name; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String filePath = uploadPath + File.separator + file_name; File storeFile = new File(filePath); fi.write(storeFile); brand.addBrands(brand_name, Integer.parseInt(look_id), file_name); response.sendRedirect(request.getContextPath() + "/admin/brandpersonality.jsp"); out.println("Uploaded Filename: " + filePath + "<br>"); } else { response.sendRedirect( request.getContextPath() + "/admin/brandpersonality.jsp?exist=exist"); } } } out.println("</body>"); out.println("</html>"); } else { 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>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "", ex); } finally { try { out.close(); } catch (Exception e) { logger.log(Level.SEVERE, "", e); } } }
From source file:ReceiveImage.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request/* w w w .ja va 2s .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 { System.out.println(isMultipart = ServletFileUpload.isMultipartContent(request)); 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")); // 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(); System.out.println(fi.isFormField()); if (fi.isFormField()) { System.out.println("Got a form field: " + fi.getFieldName() + " " + fi); } else { // Get the uploaded file parameters //System.out.println(fi.getString("Command")); String fieldName = fi.getFieldName(); String fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); System.out.println(fieldName); System.out.println(fileName); String courseHour, course, regNo, date, temp = fileName; int j = temp.indexOf("sep"); courseHour = temp.substring(0, j); temp = temp.substring(j + 3); j = temp.indexOf("sep"); course = temp.substring(0, j); temp = temp.substring(j + 3); j = temp.indexOf("sep"); regNo = temp.substring(0, j); date = temp.substring(j + 3); date = date.replaceAll("s", "-"); System.out.println("ualal" + courseHour + course + regNo + date); System.out.println(contentType); long sizeInBytes = fi.getSize(); // Write the file String uploadFolder = getServletContext().getRealPath("") + "Photo\\" + course + "\\" + regNo + "\\"; // String uploadFolder = "\\SUST_PHOTO_PRESENT\\Photo\\" + course + "\\" + regNo + "\\"; uploadFolder = uploadFolder.replace("\\build", ""); Path path = Paths.get(uploadFolder); //if directory exists? if (!Files.exists(path)) { try { Files.createDirectories(path); } catch (IOException e) { //fail to create directory e.printStackTrace(); } } //uploadFolder+= "\\"+date+".jpg"; System.out.println(fileName); System.out.println(uploadFolder); // file = new File(uploadFolder + date); date = date.replaceAll("-", "/"); date = date.substring(0, 10); String total_url = uploadFolder + date.replaceAll("/", "-") + ".jpg"; System.out.println(total_url); String formattedUrl = total_url.replaceAll("\\\\", "/"); System.out.println(formattedUrl.substring(38)); System.out.println("-------------->>>>>>>>" + course + " " + date + regNo + total_url); AddUser.updateUrl(courseHour, course, date, regNo, formattedUrl.substring(38)); fi.write(file); // System.out.println("-------------->>>>>>>>" +course+" "+ date+ regNo+total_url); // try { // SavePhoto.saveIMG("CSE", "2016", "tada","F:\\1.png"); // } catch (IOException ex) { // Logger.getLogger(SavePhoto.class.getName()).log(Level.SEVERE, null, ex); // } System.out.println(uploadFolder); } } } catch (Exception ex) { System.out.println(ex); } }
From source file:admin.controller.ServletChangeLooks.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./* w w w . ja 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 */ public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String filePath = ""; String fileName, fieldName, uploadPath, deletePath, file_name_to_delete = "", uploadPath1; Looks look; RequestDispatcher request_dispatcher; String lookname = "", lookid = ""; Integer organization = 0; look = new Looks(); boolean check = false; File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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(AppConstants.TMP_FOLDER)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // 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>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters fieldName = fi.getFieldName(); if (fieldName.equals("lookname")) { lookname = fi.getString(); } if (fieldName.equals("lookid")) { lookid = fi.getString(); } if (fieldName.equals("organization")) { organization = Integer.parseInt(fi.getString()); } file_name_to_delete = look.getFileName(Integer.parseInt(lookid)); } else { check = look.checkAvailabilities(Integer.parseInt(lookid), lookname, organization); if (check == false) { fieldName = fi.getFieldName(); fileName = fi.getName(); File uploadDir = new File(AppConstants.LOOK_IMAGES_HOME); if (!uploadDir.exists()) { uploadDir.mkdirs(); } // int inStr = fileName.indexOf("."); // String Str = fileName.substring(0, inStr); // // fileName = lookname + "_" + Str + ".png"; fileName = lookname + "_" + fileName; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String file_path = AppConstants.LOOK_IMAGES_HOME + File.separator + fileName; String delete_path = AppConstants.LOOK_IMAGES_HOME + File.separator + file_name_to_delete; File deleteFile = new File(delete_path); deleteFile.delete(); File storeFile = new File(file_path); fi.write(storeFile); out.println("Uploaded Filename: " + filePath + "<br>"); look.changeLooks(Integer.parseInt(lookid), lookname, fileName, organization); response.sendRedirect(request.getContextPath() + "/admin/looks.jsp"); } else { response.sendRedirect( request.getContextPath() + "/admin/editlook.jsp?exist=exist&look_id=" + lookid + "&look_name=" + lookname + "&organization_id=" + organization + "&image_file_name=" + file_name_to_delete); } } } out.println("</body>"); out.println("</html>"); } else { 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>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while editing the looks", ex); } finally { out.close(); } }
From source file:com.bruce.gogo.utils.JakartaMultiPartRequest.java
/** * Creates a new request wrapper to handle multi-part data using methods adapted from Jason Pell's * multipart classes (see class description). * * @param saveDir the directory to save off the file * @param servletRequest the request containing the multipart * @throws java.io.IOException is thrown if encoding fails. *//*w ww . java 2s . c om*/ public void parse(HttpServletRequest servletRequest, String saveDir) throws IOException { DiskFileItemFactory fac = new DiskFileItemFactory(); // Make sure that the data is written to file fac.setSizeThreshold(0); if (saveDir != null) { fac.setRepository(new File(saveDir)); } // Parse the request try { ServletFileUpload upload = new ServletFileUpload(fac); upload.setSizeMax(maxSize); ProgressListener myProgressListener = new MyProgressListener(servletRequest); upload.setProgressListener(myProgressListener); List items = upload.parseRequest(createRequestContext(servletRequest)); for (Object item1 : items) { FileItem item = (FileItem) item1; if (LOG.isDebugEnabled()) LOG.debug("Found item " + item.getFieldName()); if (item.isFormField()) { LOG.debug("Item is a normal form field"); List<String> values; if (params.get(item.getFieldName()) != null) { values = params.get(item.getFieldName()); } else { values = new ArrayList<String>(); } // note: see http://jira.opensymphony.com/browse/WW-633 // basically, in some cases the charset may be null, so // we're just going to try to "other" method (no idea if this // will work) String charset = servletRequest.getCharacterEncoding(); if (charset != null) { values.add(item.getString(charset)); } else { values.add(item.getString()); } params.put(item.getFieldName(), values); } else { LOG.debug("Item is a file upload"); // Skip file uploads that don't have a file name - meaning that no file was selected. if (item.getName() == null || item.getName().trim().length() < 1) { LOG.debug("No file has been uploaded for the field: " + item.getFieldName()); continue; } List<FileItem> values; if (files.get(item.getFieldName()) != null) { values = files.get(item.getFieldName()); } else { values = new ArrayList<FileItem>(); } values.add(item); files.put(item.getFieldName(), values); } } } catch (FileUploadException e) { LOG.error("Unable to parse request", e); errors.add(e.getMessage()); } }
From source file:com.jkingii.web.files.upload.java
/** * Processes requests for both HTTP//from w w w . ja va 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 request, HttpServletResponse response) throws ServletException, IOException { // Check that we have a file upload request isMultipart = ServletFileUpload.isMultipartContent(request); FileDataBase fdb = null; response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { CSession cSession = (CSession) request.getSession().getAttribute("cSession"); 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(tempDir)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Se verifica si el usuario tiene permisos de escritura. ColumnasPermisos permiso = checkPermisos(request, fileItems, out); if (permiso == null) { return; } // Process the uploaded file items Iterator i = fileItems.iterator(); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); MessageDigest md5 = MessageDigest.getInstance("MD5"); if (!fi.isFormField()) { // Get the uploaded file parameters logger.info("Prosess Request: obteniendo session: [" + cSession + "] jsessionid = [" + request.getSession().getId() + "]", this); fdb = new FileDataBase(GenKey.newKey(), cSession.getAccessInfo().getEmpresa(), cSession.getAccessInfo().getUserInfo(), new Date().getTime(), fi.getName(), new MimeType().factory().getMime(fi.getName(), fi.get()), fi.get(), Hexadecimal.getHex(md5.digest(fi.get())), fi.getSize(), permiso); fileDataBaseFacade.create(fdb); } } ResponseConfig config = new ResponseConfig(); config.setTimeZone(cSession.getAccessInfo().getTimeZone()); out.println(fdb.toJson(config)); } catch (FileUploadException | NoSuchAlgorithmException e) { logger.error("Error cargando el fichero en el servidor, " + "Exception: {}", e.getMessage()); } catch (UnknownColumnException e) { logger.error("Imposible la columna para el link debe existir referer[{}], " + "p[{}]", request.getHeader("referer"), request.getParameter(PERMISO_FIELD)); logger.debug("referrer: " + request.getHeader("referrer")); } finally { out.close(); } }