List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload setSizeMax
public void setSizeMax(long sizeMax)
From source file:UploadImageEdit.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./* w w w . jav a2 s . c o 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 */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, FileUploadException, IOException_Exception { // Check that we have a file upload request PrintWriter writer = response.getWriter(); String productName = ""; String description = ""; String price = ""; String pictureName = ""; String productId = ""; Cookie cookie = null; Cookie[] cookies = null; String selectedCookie = ""; // Get an array of Cookies associated with this domain cookies = request.getCookies(); if (cookies != null) { for (int i = 0; i < cookies.length; i++) { cookie = cookies[i]; if (cookie.getName().equals("JuraganDiskon")) { selectedCookie = cookie.getValue(); } } } else { writer.println("<h2>No cookies founds</h2>"); } if (!ServletFileUpload.isMultipartContent(request)) { // if not, we stop here writer.println("Error: Form must has enctype=multipart/form-data."); writer.flush(); return; } // configures upload settings 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 = new File(new File(getServletContext().getRealPath("")).getParent()).getParent() + "/web/" + 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 int k = 0; for (FileItem item : formItems) { // processes only fields that are not form fields if (!item.isFormField()) { k++; writer.println("if = " + k); String fileName = new File(item.getName()).getName(); pictureName = fileName; String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); // saves the file on disk item.write(storeFile); request.setAttribute("message", "Upload has been done successfully!"); writer.println("pictureName = " + pictureName); } else { k++; writer.println("else = " + k); // Get the field name String fieldName = item.getName(); // Get the field value String value = item.getString(); if (k == 0) { } else if (k == 1) { productId = value.trim(); writer.println("productId = " + productId); } else if (k == 2) { productName = value; writer.println("productName = " + productName); } else if (k == 3) { description = value; writer.println("description = " + description); } else if (k == 4) { price = value; writer.println("price = " + price); } } } } } catch (Exception ex) { request.setAttribute("message", "There was an error: " + ex.getMessage()); } String update = editTheProduct(Integer.valueOf(productId), productName, price, description, pictureName, selectedCookie); writer.println(update); //redirects client to message page getServletContext().getRequestDispatcher("/yourProduct.jsp").forward(request, response); }
From source file:it.univaq.servlet.Upload_pub.java
/** * Handles the HTTP <code>GET</code> method. * * @param request servlet request//from w w w. ja va 2 s .co m * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected boolean action_upload(HttpServletRequest request) throws FileUploadException, Exception { HttpSession s = SecurityLayer.checkSession(request); if (ServletFileUpload.isMultipartContent(request)) { //dichiaro mappe Map pubb = new HashMap(); Map rist = new HashMap(); Map key = new HashMap(); Map files = new HashMap(); int idristampa = 0; //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); /* * 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("titolo") && !name.isEmpty() || name.equals("autore") && !name.isEmpty() || name.equals("descrizione") && !name.isEmpty()) { pubb.put(name, value); } else if (name.equals("isbn") && !name.isEmpty() || name.equals("editore") && !name.isEmpty() || name.equals("lingua") && !name.isEmpty() || name.equals("numpagine") && !name.isEmpty()) { rist.put(name, value); } else if (name.equals("datapub") && !name.isEmpty()) { rist.put(name, value); } else if (name.equals("key1") || name.equals("key2") || name.equals("key3") || name.equals("key4")) { key.put(name, value); } else return false; } // 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(); if (contentType.equals("image/jpeg") && !fileName.isEmpty()) { //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(); ResultSet rs1 = Database.selectRecord("files", "name='" + files.get("name") + "'"); if (!isNull(rs1)) { while (rs1.next()) { rist.put("copertina", rs1.getInt("id")); } } // 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); } } } else if (!fileName.isEmpty()) { files.put("name", fileName); files.put("type", contentType); files.put("size", sizeInBytes); //li scrivo nel db //Database.connect(); Database.insertRecord("files", files); //Database.close(); ResultSet rs4 = Database.selectRecord("files", "name='" + files.get("name") + "'"); if (!isNull(rs4)) { while (rs4.next()) { rist.put("download", rs4.getInt("id")); } } // 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); } } } } } //inserisco dati nel db pubb.put("idutente", s.getAttribute("userid")); // Database.connect(); //prova incremento campo inserite per utenti piu attivi pubb.put("idutente", s.getAttribute("userid")); // Database.connect(); int userid = (int) s.getAttribute("userid"); //prova incremento campo inserite per utenti piu attivi // inserisco parole chiave Database.simpleupdateRecord("utenti", "inserite=inserite+1", "id=" + userid); // inserisco parole chiave Database.insertRecord("keyword", key); //seleziono id parole chiave appena inserite ResultSet rs2 = Database.selectRecord("keyword", "key1='" + key.get("key1") + "'&&" + "key2='" + key.get("key2") + "'&&" + "key3='" + key.get("key3") + "'&&" + "key4='" + key.get("key4") + "'"); if (!isNull(rs2)) { while (rs2.next()) { //e inserisco id keyword nella tab pubblicazione pubb.put("keyword", rs2.getInt("id")); } } //inserisco ora la pubblicazione con tutti i dati Database.insertRecord("pubblicazione", pubb); //seleziono id pubblicazione appena inserita ResultSet rs = Database.selectRecord("pubblicazione", "titolo='" + pubb.get("titolo") + "'"); //e inserisco l'id nella tab ristampa e tab files while (rs.next()) { rist.put("idpub", rs.getInt("id")); } ResultSet rs3 = Database.selectRecord("ristampa", "isbn=" + rist.get("isbn")); while (rs3.next()) { idristampa = rs3.getInt("id"); } //inserisco dati in tab ristampa // Database.updateRecord("ristampa", rist, "id " +idristampa); Database.insertRecord("ristampa", rist); // Database.close(); //vado alla pagina di corretto inserimento // FreeMarker.process("home.html", pubb, response, getServletContext()); return true; } else return false; }
From source file:CourseFileManagementSystem.Upload.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.write("<html><head></head><body>"); // Check that we have a file upload request 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();// ww w. ja va 2s . co m return; } // 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 temp_folder = " "; try { String dataFolder = getServletContext().getRealPath("") + File.separator + DATA_DIRECTORY; temp_folder = dataFolder; File uploadD = new File(dataFolder); if (!uploadD.exists()) { uploadD.mkdir(); } ResultList rs5 = DB.query( "SELECT * FROM course AS c, section AS s, year_semester AS ys, upload_checklist AS uc WHERE s.courseCode = c.courseCode " + "AND s.semesterID = ys.semesterID AND s.courseID = c.courseID AND s.sectionID=" + sectionID); rs5.next(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // Set overall request size constraint upload.setSizeMax(MAX_REQUEST_SIZE); // creates the directory if it does not exist String path1 = getServletContext().getContextPath() + "/" + DATA_DIRECTORY + "/"; String temp_semester = rs5.getString("year") + "-" + rs5.getString("semester"); String real_path = temp_folder + File.separator + temp_semester; File semester = new File(real_path); if (!semester.exists()) { semester.mkdir(); } path1 += temp_semester + "/"; real_path += File.separator; String temp_course = rs5.getString("courseCode") + rs5.getString("courseID") + "-" + rs5.getString("courseName"); String real_path1 = real_path + temp_course; File course = new File(real_path1); if (!course.exists()) { course.mkdir(); } path1 += temp_course + "/"; real_path1 += File.separator; String temp_section = "section-" + rs5.getString("sectionNo"); String real_path2 = real_path1 + temp_section; File section = new File(real_path2); if (!section.exists()) { section.mkdir(); } path1 += temp_section + "/"; real_path2 += File.separator; String sectionPath = path1; // Parse the request List<FileItem> items = upload.parseRequest(request); if (items != null && items.size() > 0) { // iterates over form's fields for (FileItem item : items) { // processes only fields that are not form fields if (!item.isFormField() && !item.getName().equals("")) { String DBPath = ""; System.out.println(item.getName() + " file is for " + item.getFieldName()); Scanner field_name = new Scanner(item.getFieldName()).useDelimiter("[^0-9]+"); int id = field_name.nextInt(); fileName = new File(item.getName()).getName(); ResultList rs = DB.query("SELECT * FROM upload_checklist WHERE checklistID =" + id); rs.next(); String temp_file = rs.getString("label"); String real_path3 = real_path2 + temp_file; File file_type = new File(real_path3); if (!file_type.exists()) file_type.mkdir(); DBPath = sectionPath + "/" + temp_file + "/"; String context_path = DBPath; real_path3 += File.separator; String filePath = real_path3 + fileName; DBPath += fileName; String temp_DBPath = DBPath; int count = 0; File f = new File(filePath); String temp_fileName = f.getName(); String fileNameWithOutExt = FilenameUtils.removeExtension(temp_fileName); String extension = FilenameUtils.getExtension(filePath); String newFullPath = filePath; String tempFileName = " "; while (f.exists()) { ++count; tempFileName = fileNameWithOutExt + "_(" + count + ")."; newFullPath = real_path3 + tempFileName + extension; temp_DBPath = context_path + tempFileName + extension; f = new File(newFullPath); } filePath = newFullPath; System.out.println("New path: " + filePath); DBPath = temp_DBPath; String changeFilePath = filePath.replace('/', '\\'); String changeFilePath1 = changeFilePath.replace("Course_File_Management_System\\", ""); File uploadedFile = new File(changeFilePath1); System.out.println("Change filepath = " + changeFilePath1); System.out.println("DBPath = " + DBPath); // saves the file to upload directory item.write(uploadedFile); String query = "INSERT INTO files (fileDirectory) values('" + DBPath + "')"; DB.update(query); ResultList rs3 = DB.query("SELECT label FROM upload_checklist WHERE id=" + id); while (rs3.next()) { String label = rs3.getString("label"); out.write("<a href=\"Upload?fileName=" + changeFilePath1 + "\">Download " + label + "</a>"); out.write("<br><br>"); } ResultList rs4 = DB.query("SELECT * FROM files ORDER BY fileID DESC LIMIT 1"); rs4.next(); String query2 = "INSERT INTO lecturer_upload (fileID, sectionID, checklistID) values(" + rs4.getString("fileID") + ", " + sectionID + ", " + id + ")"; DB.update(query2); } } } } catch (FileUploadException ex) { throw new ServletException(ex); } catch (Exception ex) { throw new ServletException(ex); } response.sendRedirect(request.getHeader("Referer")); }
From source file:com.intbit.ServletModel.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*w w w. java 2s. c o 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 { look = new Looks(); // uploadXmlPath = getServletContext().getRealPath("") + "/model"; uploadPath = AppConstants.BASE_MODEL_PATH; // 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("organization")) { lookName = fi.getString(); } if (fieldName.equals("users")) { lookName = fi.getString(); } if (fieldName.equals("categories")) { lookName = fi.getString(); } if (fieldName.equals("mapper")) { lookName = fi.getString(); } if (fieldName.equals("layout")) { lookName = fi.getString(); } if (fieldName.equals("mail")) { lookName = fi.getString(); } if (fieldName.equals("socialmedia")) { lookName = fi.getString(); } if (fieldName.equals("textstyle")) { lookName = fi.getString(); } if (fieldName.equals("containerstyle")) { lookName = fi.getString(); } if (fieldName.equals("element")) { lookName = fi.getString(); } String textstyleinfo = request.getParameter("textstyle"); String containerstyle = request.getParameter("containerstyle"); String mapfiledata = request.getParameter("element"); String textstylearray[] = textstyleinfo.split(","); String containerstylearray[] = containerstyle.split(" "); String mapfiledataarray[] = mapfiledata.split(","); // String image = request.getParameter("image"); logger.log(Level.INFO, containerstyle); DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); // root elements Document doc = docBuilder.newDocument(); Element rootElement = doc.createElement("layout"); doc.appendChild(rootElement); Document doc1 = docBuilder.newDocument(); Element rootElement1 = doc1.createElement("models"); doc1.appendChild(rootElement1); Element container = doc.createElement("container"); rootElement.appendChild(container); // for (int i = 0; i <= containerstylearray.length - 1; i++) { // String v[] = containerstylearray[i].split(":"); // Attr attr = doc.createAttribute(v[0]); // attr.setValue("" + v[1]); // container.setAttributeNode(attr); // } // // // staff elements // for (int i = 0; i <= textstylearray.length - 1; i++) { // Element element = doc.createElement("element"); // rootElement.appendChild(element); // String field1[] = textstylearray[i].split(" "); // for (int j = 0; j <= field1.length - 1; j++) { // String field2[] = field1[j].split(":"); // for (int k = 0; k < field2.length - 1; k++) { // Attr attr = doc.createAttribute(field2[0]); // attr.setValue("" + field2[1]); // element.setAttributeNode(attr); // } // } // } // // // for mapper xml file // for (int i = 0; i <= mapfiledataarray.length - 1; i++) { // Element element1 = doc1.createElement("model"); // rootElement1.appendChild(element1); // String field1[] = mapfiledataarray[i].split(" "); // for (int j = 0; j <= field1.length - 1; j++) { // String field2[] = field1[j].split(":"); // for (int k = 0; k < field2.length - 1; k++) { // Attr attr = doc1.createAttribute(field2[k]); // attr.setValue("" + field2[1]); // element1.setAttributeNode(attr); // } // } // } // write the content into xml file // TransformerFactory transformerFactory = TransformerFactory.newInstance(); // Transformer transformer = transformerFactory.newTransformer(); // DOMSource source = new DOMSource(doc); // StreamResult result = new StreamResult(new File(uploadPath +File.separator + layoutfilename + ".xml")); // // TransformerFactory transformerFactory1 = TransformerFactory.newInstance(); // Transformer transformer1 = transformerFactory1.newTransformer(); // DOMSource source1 = new DOMSource(doc1); // StreamResult result1 = new StreamResult(new File(uploadPath +File.separator + mapperfilename + ".xml")); // Output to console for testing // StreamResult result = new StreamResult(System.out); // transformer.transform(source, result); // transformer1.transform(source1, result1); // layout.addLayouts(organization_id , user_id, category_id, layoutfilename, mapperfilename, type_email, type_social); } else { fieldName = fi.getFieldName(); fileName = fi.getName(); File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdirs(); } int inStr = fileName.indexOf("."); String Str = fileName.substring(0, inStr); fileName = lookName + "_" + Str + ".png"; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); fi.write(storeFile); out.println("Uploaded Filename: " + filePath + "<br>"); } } // look.addLooks(lookName, fileName); response.sendRedirect(request.getContextPath() + "/admin/looks.jsp"); // request_dispatcher = request.getRequestDispatcher("/admin/looks.jsp"); // request_dispatcher.forward(request, response); 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, util.Utility.logMessage(ex, "Exception while updating org name:", getSqlMethodsInstance().error)); out.println(getSqlMethodsInstance().error); } finally { out.close(); } }
From source file:com.liferay.portal.upload.UploadServletRequestImpl.java
public UploadServletRequestImpl(HttpServletRequest request) { super(request); _params = new LinkedHashMap<String, LiferayFileItem[]>(); try {/*ww w. j a va 2 s .com*/ ServletFileUpload servletFileUpload = new LiferayFileUpload(new LiferayFileItemFactory(getTempDir()), request); servletFileUpload.setSizeMax(PrefsPropsUtil.getLong(PropsKeys.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE)); _liferayServletRequest = new LiferayServletRequest(request); List<LiferayFileItem> liferayFileItemsList = servletFileUpload.parseRequest(_liferayServletRequest); for (LiferayFileItem liferayFileItem : liferayFileItemsList) { if (liferayFileItem.isFormField()) { liferayFileItem.setString(request.getCharacterEncoding()); } LiferayFileItem[] liferayFileItems = _params.get(liferayFileItem.getFieldName()); if (liferayFileItems == null) { liferayFileItems = new LiferayFileItem[] { liferayFileItem }; } else { LiferayFileItem[] newLiferayFileItems = new LiferayFileItem[liferayFileItems.length + 1]; System.arraycopy(liferayFileItems, 0, newLiferayFileItems, 0, liferayFileItems.length); newLiferayFileItems[newLiferayFileItems.length - 1] = liferayFileItem; liferayFileItems = newLiferayFileItems; } _params.put(liferayFileItem.getFieldName(), liferayFileItems); } } catch (Exception e) { UploadException uploadException = new UploadException(e); if (e instanceof FileUploadBase.FileSizeLimitExceededException || e instanceof FileUploadBase.SizeLimitExceededException) { uploadException.setExceededSizeLimit(true); } request.setAttribute(WebKeys.UPLOAD_EXCEPTION, uploadException); if (_log.isDebugEnabled()) { _log.debug(e, e); } } }
From source file:com.krawler.formbuilder.servlet.ModuleBuilderController.java
public Map parseRequest(HttpServletRequest request, List<FileItem> fi) throws ServiceException { Map arrParam = new HashMap(); FileItemFactory factory = new DiskFileItemFactory(4096, new File("/tmp")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(1000000); FileItem fi1 = null;/* ww w . j a v a 2 s. c om*/ List fileItems = null; try { fileItems = upload.parseRequest(request); } catch (FileUploadException e) { logger.warn(e.getMessage(), e); throw ServiceException.FAILURE("File upload has some problem", e); } for (Iterator k = fileItems.iterator(); k.hasNext();) { fi1 = (FileItem) k.next(); if (fi1.isFormField()) { String key = fi1.getFieldName(); try { if (arrParam.containsKey(key)) { arrParam.put(key, arrParam.get(key) + ", " + fi1.getString("UTF-8")); } else { arrParam.put(fi1.getFieldName(), fi1.getString("UTF-8")); } } catch (UnsupportedEncodingException e) { logger.error(e.getMessage()); } } else { if (fi1.getSize() != 0) { fi.add(fi1); } } } return arrParam; }
From source file:com.ibm.btt.sample.SampleFileHandler.java
/** * Just handle one file upload in this handler, developer can extend to support * multi-files upload // w ww .ja va 2 s.c o m */ @Override public int saveFile(HttpServletRequest request) { int code = SAVE_FAILED; boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); //config the memory cache, if above the cache, the file data will be // saved on cache folder factory.setSizeThreshold(memCacheSize); // set up cache folder, when uploading, the tmp file // will be saved in cache folder with a internal managed name. factory.setRepository(new File(cachePath)); ServletFileUpload upload = new ServletFileUpload(factory); // max size of a file upload.setSizeMax(maxSize); try { if (isExpired()) { return REQ_TIMEOUT; } List<FileItem> fileItems = upload.parseRequest(request); // save file from request code = uploadFilesFromReq(request, fileItems); } catch (SizeLimitExceededException e) { code = FILE_SIZE_EXCEED; } catch (FileUploadException e) { if (LOG.doDebug()) { LOG.debug("SampleFileHandler:saveFile() -- upload file stream was been cancelled", e); } } } return code; }
From source file:com.github.thorqin.webapi.FileManager.java
public List<FileInfo> saveUploadFiles(HttpServletRequest request, int maxSize) throws ServletException, IOException, FileUploadException { List<FileInfo> uploadList = new LinkedList<>(); request.setCharacterEncoding("utf-8"); ServletFileUpload upload = new ServletFileUpload(); upload.setHeaderEncoding("UTF-8"); if (!ServletFileUpload.isMultipartContent(request)) { return uploadList; }/* ww w . j ava 2 s . c o m*/ upload.setSizeMax(maxSize); FileItemIterator iter; iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); try (InputStream stream = item.openStream()) { if (!item.isFormField()) { FileInfo info = new FileInfo(); info.setFileName(item.getName()); if (getFileMIME(info.getExtName()) == null) { logger.log(Level.WARNING, "Upload file's MIME type isn't permitted."); continue; } info = store(stream, info.fileName); uploadList.add(info); } } } return uploadList; }
From source file:com.krawler.spring.importFunctionality.ImportController.java
public ModelAndView fileUploadXLSX(HttpServletRequest request, HttpServletResponse response) { String View = "jsonView-ex"; JSONObject jobj = new JSONObject(); try {/*from w w w. j av a 2 s .c om*/ System.out.println("A(( Upload XLSX start : " + new Date()); jobj.put("success", true); FileItemFactory factory = new DiskFileItemFactory(4096, new File(ConfigReader.getinstance().get("UploadTempDir", "/tmp"))); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(10485760); // 10Mb List fileItems = upload.parseRequest(request); Iterator i = fileItems.iterator(); String destinationDirectory = storageHandlerImpl.GetDocStorePath() + "xlsfiles"; String fileName = null; String fileid = UUID.randomUUID().toString(); fileid = fileid.replaceAll("-", ""); // To append UUID without "-" [SK] String Ext = ""; while (i.hasNext()) { java.io.File destDir = new java.io.File(destinationDirectory); if (!destDir.exists()) { //Create xls file's folder if not present destDir.mkdirs(); } FileItem fi = (FileItem) i.next(); if (fi.isFormField()) continue; fileName = fi.getName(); if (fileName.contains(".")) { Ext = fileName.substring(fileName.lastIndexOf(".")); int startIndex = fileName.contains("\\") ? (fileName.lastIndexOf("\\") + 1) : 0; fileName = fileName.substring(startIndex, fileName.lastIndexOf(".")); } if (fileName.length() > 28) { // To fixed Mysql ERROR 1103 (42000): Incorrect table name throw new DataInvalidateException("Filename is too long, use upto 28 characters."); } fi.write(new File(destinationDirectory, fileName + "_" + fileid + Ext)); } FileInputStream fs = new FileInputStream(destinationDirectory + "/" + fileName + "_" + fileid + Ext); XSSFWorkbook wb = new XSSFWorkbook(fs); int count = wb.getNumberOfSheets(); JSONArray jArr = new JSONArray(); for (int x = 0; x < count; x++) { JSONObject obj = new JSONObject(); obj.put("name", wb.getSheetName(x)); obj.put("index", x); jArr.put(obj); } jobj.put("file", destinationDirectory + "/" + fileName + "_" + fileid + Ext); jobj.put("filename", fileName + "_" + fileid + Ext); jobj.put("data", jArr); jobj.put("msg", "Image has been successfully uploaded"); jobj.put("lsuccess", true); jobj.put("valid", true); } catch (FileUploadBase.SizeLimitExceededException ex) { Logger.getLogger(ImportController.class.getName()).log(Level.SEVERE, null, ex); jobj.put("msg", "File exceeds max size limit i.e 10MB."); jobj.put("lsuccess", false); jobj.put("valid", true); } catch (Exception e) { Logger.getLogger(ImportController.class.getName()).log(Level.SEVERE, null, e); try { jobj.put("msg", e.getMessage()); jobj.put("lsuccess", false); jobj.put("valid", true); } catch (Exception ex) { } } finally { System.out.println("A(( Upload XLS end : " + new Date()); return new ModelAndView(View, "model", jobj.toString()); } }
From source file:com.krawler.spring.importFunctionality.ImportController.java
public ModelAndView fileUploadXLS(HttpServletRequest request, HttpServletResponse response) { String View = "jsonView-ex"; JSONObject jobj = new JSONObject(); try {/* ww w . j a v a 2 s . c o m*/ System.out.println("A(( Upload XLS start : " + new Date()); jobj.put("success", true); FileItemFactory factory = new DiskFileItemFactory(4096, new File(ConfigReader.getinstance().get("UploadTempDir", "/tmp"))); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(10485760); List fileItems = upload.parseRequest(request); Iterator i = fileItems.iterator(); String destinationDirectory = storageHandlerImpl.GetDocStorePath() + "xlsfiles"; String fileName = null; String fileid = UUID.randomUUID().toString(); fileid = fileid.replaceAll("-", ""); // To append UUID without "-" [SK] String Ext = ""; while (i.hasNext()) { java.io.File destDir = new java.io.File(destinationDirectory); if (!destDir.exists()) { //Create xls file's folder if not present destDir.mkdirs(); } FileItem fi = (FileItem) i.next(); if (fi.isFormField()) continue; fileName = fi.getName(); if (fileName.contains(".")) { Ext = fileName.substring(fileName.lastIndexOf(".")); int startIndex = fileName.contains("\\") ? (fileName.lastIndexOf("\\") + 1) : 0; fileName = fileName.substring(startIndex, fileName.lastIndexOf(".")); } if (fileName.length() > 28) { // To fixed Mysql ERROR 1103 (42000): Incorrect table name throw new DataInvalidateException("Filename is too long, use upto 28 characters."); } fi.write(new File(destinationDirectory, fileName + "_" + fileid + Ext)); } POIFSFileSystem fs = new POIFSFileSystem( new FileInputStream(destinationDirectory + "/" + fileName + "_" + fileid + Ext)); HSSFWorkbook wb = new HSSFWorkbook(fs); int count = wb.getNumberOfSheets(); JSONArray jArr = new JSONArray(); for (int x = 0; x < count; x++) { JSONObject obj = new JSONObject(); obj.put("name", wb.getSheetName(x)); obj.put("index", x); jArr.put(obj); } jobj.put("file", destinationDirectory + "/" + fileName + "_" + fileid + Ext); jobj.put("filename", fileName + "_" + fileid + Ext); jobj.put("data", jArr); jobj.put("msg", "Image has been successfully uploaded"); jobj.put("lsuccess", true); jobj.put("valid", true); } catch (FileUploadBase.SizeLimitExceededException ex) { Logger.getLogger(ImportController.class.getName()).log(Level.SEVERE, null, ex); jobj.put("msg", "File exceeds max size limit i.e 10MB."); jobj.put("lsuccess", false); jobj.put("valid", true); } catch (Exception e) { Logger.getLogger(ImportController.class.getName()).log(Level.SEVERE, null, e); try { String msg = e.getMessage().contains("Invalid header signature;") ? "Not a real xls file. File contents are not XLS content/corrupted content." : e.getMessage(); jobj.put("msg", msg); jobj.put("lsuccess", false); jobj.put("valid", true); } catch (Exception ex) { } } finally { System.out.println("A(( Upload XLS end : " + new Date()); return new ModelAndView(View, "model", jobj.toString()); } }