List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload ServletFileUpload
public ServletFileUpload(FileItemFactory fileItemFactory)
FileItem
instances. From source file:game.com.HandleUploadFileServlet.java
private void handle(HttpServletRequest request, AjaxResponseEntity responseObject) throws Exception { boolean isMultipart; String filePath;/* w w w . ja v a 2s . c o m*/ int maxFileSize = 4 * 1024 * 1024; int maxMemSize = 4 * 1024 * 1024; File file; 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); Map<String, List<FileItem>> postData = upload.parseParameterMap(request); if (postData.get("path") == null) { responseObject.returnCode = 0; responseObject.returnMessage = "invalid request"; return; } String path = postData.get("path").get(0).getString(); if (path == null) { responseObject.returnCode = 0; responseObject.returnMessage = "invalid request"; return; } File folder = new File(path); if (!folder.exists()) { responseObject.returnCode = 0; responseObject.returnMessage = "path not exist"; return; } if (folder.getAbsolutePath().startsWith(AppConfig.OPENSHIFT_DATA_DIR) == false) { responseObject.returnCode = 0; responseObject.returnMessage = "invalid path"; return; } try { // Parse the request to get file items. List<FileItem> fileItems = postData.get("uploadfile"); // Process the uploaded file items for (FileItem fi : fileItems) { 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 file = new File(path + "/" + fi.getName()); fi.write(file); logger.info("upload " + file.getAbsolutePath()); } else { logger.info("isFormField " + fi.getFieldName()); } } responseObject.returnCode = 1; responseObject.returnMessage = "success"; } catch (Exception ex) { logger.error(ex.getMessage(), ex); } }
From source file:ned.bcvs.fileupload.ElectionPartyFileUploadServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { // Check that we have a file upload request isMultipart = ServletFileUpload.isMultipartContent(request); response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); 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;/*from w w w. j ava2s . co m*/ } 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( "D:/glassfish12October/glassfish-4.0/glassfish4/" + "glassfish/domains/domain1/applications/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(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file if (fileName.lastIndexOf("\\") >= 0) { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\"))); } else { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1)); } fi.write(file); out.println("Uploaded Filename: " + fileName + "<br>"); } } //calling the ejb method to save voter.csv file to data base out.println(upbean.fileDbUploader(filePath + fileName, "electionparty")); out.println("</body>"); out.println("</html>"); } catch (Exception ex) { System.out.println(ex); } }
From source file:edu.lafayette.metadb.web.dataman.ImportAdminDesc.java
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) *///from w w w.j a va2 s . c om @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub PrintWriter out = response.getWriter(); String delimiter = "comma"; boolean replaceEntity = false; String projname = (String) request.getSession(false).getAttribute(Global.SESSION_PROJECT); JSONObject output = new JSONObject(); try { if (ServletFileUpload.isMultipartContent(request)) { ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); List fileItemsList = servletFileUpload.parseRequest(request); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setSizeThreshold(40960); /* the unit is bytes */ Iterator it = fileItemsList.iterator(); InputStream input = null; while (it.hasNext()) { FileItem fileItem = (FileItem) it.next(); if (fileItem.isFormField()) { /* The file item contains a simple name-value pair of a form field */ if (fileItem.getFieldName().equals("delimiter")) delimiter = fileItem.getString(); else if (fileItem.getFieldName().equals("replace-entity")) replaceEntity = true; } else { input = fileItem.getInputStream(); } } String delimiterType = "csv"; if (delimiter.equals("tab")) { delimiterType = "tsv"; } if (input != null) { Result res = DataImporter.importFile(delimiterType, projname, input, replaceEntity); if (res.isSuccess()) { HttpSession session = request.getSession(false); if (session != null) { String userName = (String) session.getAttribute(Global.SESSION_USERNAME); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "Data imported into project " + projname); } output.put("message", "Data import successfully"); } else { output.put("message", "The following fields have been changed:"); StringBuilder fields = new StringBuilder(); for (String field : (ArrayList<String>) res.getData()) fields.append(field + ','); output.put("fields", fields.toString()); } output.put("success", res.isSuccess()); } else { output.put("success", false); output.put("message", "Null data"); } } else { output.put("success", false); output.put("message", "Form is not multi-part"); } } catch (Exception e) { MetaDbHelper.logEvent(e); } out.print(output); out.flush(); }
From source file:com.sa.osgi.jetty.UploadServlet.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.// www . ja v a 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 */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Check that we have a file upload request boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); // Configure a repository (to ensure a secure temp location is used) ServletContext servletContext = this.getServletConfig().getServletContext(); String ss = servletContext.getInitParameter("javax.servlet.context.tempdir"); File repository = new File("/tmp");//(File) servletContext.getAttribute("javax.servlet.context.tempdir"); factory.setRepository(repository); System.out.println("context var: " + ss); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); try { // Parse the request List<FileItem> items = upload.parseRequest(request); Iterator<FileItem> iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); if (item.isFormField()) { // processFormField(item); } else { processUploadedFile(item); } } } catch (FileUploadException ex) { Logger.getLogger(UploadServlet.class.getName()).log(Level.SEVERE, null, ex); } } response.sendRedirect("/welcome"); // RequestDispatcher dis = request.getRequestDispatcher("/welcome"); // dis.forward(request, response); }
From source file:Controlador.Contr_Seleccion.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*w w w . j a v a2 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 */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*Se detalla el contenido que tendra el servlet*/ response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); /*Se crea una variable para la sesion*/ HttpSession session = request.getSession(true); boolean b; try { /*Se declaran las variables necesarias*/ Cls_Seleccion sel = new Cls_Seleccion(); String Codigo = "", Mensaje = "", Nombre = "", Tipo = "", Imagen = "", url, Peti; String urlsalidaimg; urlsalidaimg = "/media/santiago/Santiago/IMGTE/"; //urlsalidaimg = "D:\\IMGTE\\"; String urlimgservidor = this.getServletContext().getRealPath("/Libs/Customs/images/Seleccion"); /*FileItemFactory es una interfaz para crear FileItem*/ FileItemFactory file_factory = new DiskFileItemFactory(); /*ServletFileUpload esta clase convierte los input file a FileItem*/ ServletFileUpload servlet_up = new ServletFileUpload(file_factory); /*sacando los FileItem del ServletFileUpload en una lista */ servlet_up.setHeaderEncoding("UTF-8"); List items = servlet_up.parseRequest(request); Iterator it = items.iterator(); /*Se evalua cada una de las posibles peticiones y los posibles campos que envien*/ while (it.hasNext()) { FileItem item = (FileItem) it.next(); if (item.isFormField()) { //Plain request parameters will come here. String name = item.getFieldName(); if (name.equals("Codigo")) { /*Se guarda el campo en la clase*/ sel.setCodigo(item.getString()); } else if (name.equals("Nombre")) { /** * Se guarda el campo en la clase */ sel.setNombre(item.getString()); } else if (name.equals("Tipo")) { /** * Se guarda el campo en la clase */ sel.setTipo(item.getString()); } else if (name.equals("Estado")) { /** * Se guarda el campo en la clase */ sel.setEstado(item.getString()); } else if (name.equals("RegistrarSeleccion")) { /*Se evalua si se mando una iamgen, cuando se va a registrar un evento*/ if (!sel.getImagen().equals("")) { /*Si se envia una imagen obtiene la imagen para guardarla en el server luego*/ File img = new File(sel.getImagen()); /*Se ejecuta el metodo de registrar usuario que se encuentra, en la clase modelo con los datos que se encuentran en la clase*/ b = sel.setRegistrarSeleccion(sel.getNombre(), sel.getTipo(), sel.getTypeImg()); if (b) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ File imagedb = new File(urlimgservidor + "/" + sel.getCodigo() + sel.getTypeImg()); img.renameTo(imagedb); session.setAttribute("Mensaje", "El gusto o ambiente ha sido registrado correctamente."); session.setAttribute("TipoMensaje", "Dio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } else { img.delete(); /*Se guarda un mensaje de error mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", sel.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } } else { /*Se guarda un mensaje de error mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Seleccione una imagen, para registrar el ambiente o gusto."); session.setAttribute("TipoMensaje", "NODio"); } } else if (name.equals("ModificarSeleccion")) { if (sel.getImagen().equals("")) { /*Se ejecuta el metodo de actualizar los datos de la seleccion usuario que se encuentra, en la clase modelo con los datos que se encuentran en la clase*/ b = sel.actualizardatosSeleccion(sel.getCodigo(), sel.getNombre(), sel.getTipo(), sel.getEstado()); if (b) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "El gusto o ambiente ha sido registrada correctamente."); session.setAttribute("TipoMensaje", "Dio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", sel.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } } else { /*Se ejecuta el metodo de actualizar los datos de la seleccion usuario que se encuentra, en la clase modelo con los datos que se encuentran en la clase*/ File img = new File(sel.getImagen()); b = sel.actualizardatosSeleccion(sel.getCodigo(), sel.getNombre(), sel.getTipo(), sel.getTypeImg(), sel.getEstado()); if (b) { File imagedb = new File(urlimgservidor + "/" + sel.getCodigo() + sel.getTypeImg()); img.renameTo(imagedb); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "El gusto o ambiente ha sido modificado correctamente."); session.setAttribute("TipoMensaje", "Dio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } else { img.delete(); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", sel.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); url = "View/ConsultaSeleccion.jsp"; response.sendRedirect(url); } } } } else { if (!item.getName().equals("")) { //uploaded files will come here. FileItem file = item; String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); if (sizeInBytes > 1000000) { /*Se muestra un mensaje en caso de pesar mas de 3 MB*/ session.setAttribute("Mensaje", "El tamao lmite de la imagen es: 1 MB"); session.setAttribute("TipoMensaje", "NODio"); /*Se redirecciona*/ response.sendRedirect("View/ConsultaSeleccion.jsp"); } else { if (contentType.indexOf("jpeg") > 0 || contentType.indexOf("png") > 0) { if (contentType.indexOf("jpeg") > 0) { contentType = ".jpg"; } else { contentType = ".png"; } /*Se crea la imagne*/ File archivo_server = new File(urlimgservidor + "/" + item.getName()); /*Se guardael nombre y tipo de imagen en la clase*/ sel.setImagen(urlimgservidor + "/" + item.getName()); sel.setTypeImg(contentType); /*Se guarda la imagen*/ item.write(archivo_server); } else { session.setAttribute("Mensaje", "Solo se pueden registrar imagenes JPG o PNG"); session.setAttribute("TipoMensaje", "NODio"); } } } else { /*Se guarda el url de la imagen en la clase*/ sel.setImagen(""); } } } /*Se redirecciona sino se recive ninguna peticion*/ response.sendRedirect("View/index.jsp"); } catch (FileUploadException ex) { /*Se muestra un mensaje en caso de error*/ System.out.print(ex.getMessage().toString()); } catch (Exception ex) { /*Se muestra un mensaje en caso de error*/ Logger.getLogger(Contr_Seleccion.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.tc.webshell.servlets.Upload.java
/** * Processes requests for both HTTP/*from w w w. j av 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 */ @SuppressWarnings("unchecked") protected void processRequest(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("application/json"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(diskFileItemFactory); upload.setFileSizeMax(60000000); // Parse the request try { Database db = ContextInfo.getUserDatabase(); for (FileItem item : (List<FileItem>) upload.parseRequest(req)) { if (!item.isFormField()) { InputStream in = item.getInputStream(); File file = this.createTempFile("upload", item.getName()); OutputStream fout = new FileOutputStream(file); try { byte[] bytes = IOUtils.toByteArray(in); IOUtils.write(bytes, fout); Map<String, String> queryMap = XSPUtils.getQueryMap(req.getQueryString()); Document doc = null; if (queryMap.containsKey("documentId")) { doc = new DocFactory().attachToDocument(db, queryMap.get("documentId"), file); } else { doc = new DocFactory().buildDocument(req, db, file); } doc.save(); Prompt prompt = new Prompt(); prompt.setMessage("file uploaded successfully"); prompt.setTitle("info"); prompt.addProperty("noteId", doc.getNoteID()); prompt.addProperty("unid", doc.getUniversalID()); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd G 'at' HH:mm:ss z"); String strdate = formatter.format(doc.getCreated().toJavaDate()); prompt.addProperty("created", strdate); Vector<Item> items = doc.getItems(); for (Item notesItem : items) { prompt.addProperty(notesItem.getName(), notesItem.getText()); } String json = MapperFactory.mapper().writeValueAsString(prompt); this.compressResponse(req, res, json); doc.recycle(); } finally { in.close(); if (fout != null) { fout.close(); file.delete();//make sure we cleanup } } } else { // } break; } } catch (Exception e) { logger.log(Level.SEVERE, null, e); } finally { res.getOutputStream().close(); } }
From source file:com.agapsys.web.toolkit.services.UploadService.java
private synchronized void __int() { if (uploadServlet == null) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(0); // <--All files will be written to disk factory.setRepository(getTemporaryDirectory()); uploadServlet = new ServletFileUpload(factory); uploadServlet.setSizeMax(getTotalMaxSize()); uploadServlet.setFileSizeMax(getMaxFileSize()); }/*from ww w . j a va 2 s . c o m*/ }
From source file:com.krawler.esp.servlets.fileUploadXLS.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request/* w w w .j a v a 2 s . com*/ * @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"); PrintWriter out = response.getWriter(); JSONObject jobj = new JSONObject(); try { jobj.put("success", true); FileItemFactory factory = new DiskFileItemFactory(4096, new File("/tmp")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(10000000); List fileItems = upload.parseRequest(request); Iterator i = fileItems.iterator(); String destinationDirectory = StorageHandler.GetDocStorePath() + "xlsfiles"; String fileName = null; while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) continue; fileName = fi.getName(); fi.write(new File(destinationDirectory, fileName)); } POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(destinationDirectory + "/" + fileName)); 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); jobj.put("data", jArr); jobj.put("msg", "Image has been successfully uploaded"); jobj.put("lsuccess", true); jobj.put("valid", true); } catch (Exception e) { Logger.getLogger(fileUploadXLS.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 { out.println(jobj); } }
From source file:com.lock.unlockInfo.servlet.SubmitUnlockImg.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpResponseModel responseModel = new HttpResponseModel(); try {//from www . j a v a2s . c o m boolean isMultipart = ServletFileUpload.isMultipartContent(request); // ??? if (isMultipart) { Hashtable<String, String> htSubmitParam = new Hashtable<String, String>(); // ?? List<String> fileList = new ArrayList<String>();// // DiskFileItemFactory?? // ????List // list??? FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); Iterator<FileItem> iterator = items.iterator(); while (iterator.hasNext()) { FileItem item = iterator.next(); if (item.isFormField()) { // ? String sFieldName = item.getFieldName(); String sFieldValue = item.getString("UTF-8"); htSubmitParam.put(sFieldName, sFieldValue); } else { // ,??? String newFileName = System.currentTimeMillis() + "_" + UUID.randomUUID().toString() + ".jpg"; File filePath = new File( getServletConfig().getServletContext().getRealPath(Constants.File_Upload)); if (!filePath.exists()) { filePath.mkdirs(); } File file = new File(filePath, newFileName); if (!file.exists()) { file.createNewFile(); } //? BufferedInputStream bis = new BufferedInputStream(item.getInputStream()); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file)); byte[] b = new byte[1024]; int length = 0; while ((length = bis.read(b)) > 0) { bos.write(b, 0, length); } bos.close(); bis.close(); //?url String fileUrl = request.getRequestURL().toString(); fileUrl = fileUrl.substring(0, fileUrl.lastIndexOf("/")); //?URL fileUrl = fileUrl + Constants.File_Upload + "/" + newFileName; /**/ fileList.add(fileUrl); } } // String unlockInfoId = htSubmitParam.get("UnlockInfoId"); String imgType = htSubmitParam.get("ImgType"); String newFileUrl = fileList.get(0); UnlockInfoService unlockInfoService = (UnlockInfoService) context.getBean("unlockInfoService"); UnlockInfo unlockInfo = unlockInfoService.queryByPK(Long.valueOf(unlockInfoId)); if (imgType.equals("customerIdImg")) { unlockInfo.setCustomerIdImg(newFileUrl); } else if (imgType.equals("customerDrivingLicenseImg")) { unlockInfo.setCustomerDrivingLicenseImg(newFileUrl); } else if (imgType.equals("customerVehicleLicenseImg")) { unlockInfo.setCustomerVehicleLicenseImg(newFileUrl); } else if (imgType.equals("customerBusinessLicenseImg")) { unlockInfo.setCustomerBusinessLicenseImg(newFileUrl); } else if (imgType.equals("customerIntroductionLetterImg")) { unlockInfo.setCustomerIntroductionLetterImg(newFileUrl); } else if (imgType.equals("unlockWorkOrderImg")) { unlockInfo.setUnlockWorkOrderImg(newFileUrl); } /**/ unlockInfoService.update(unlockInfo); } } catch (Exception e) { e.printStackTrace(); responseModel.responseCode = "0"; responseModel.responseMessage = e.toString(); } /* ??? */ response.setHeader("content-type", "text/json;charset=utf-8"); response.getOutputStream().write(responseModel.toByteArray()); }
From source file:controller.AddNewEC.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w ww.ja va 2s. 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 */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); ExtenuatingCircumstance ec = new ExtenuatingCircumstance(); if (ServletFileUpload.isMultipartContent(request)) { try { int year = 0; String fname = StringUtils.EMPTY; String title = StringUtils.EMPTY; String desciption = StringUtils.EMPTY; List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); ArrayList<FileItem> files = new ArrayList<>(); for (FileItem item : multiparts) { if (item.isFormField()) { if (item.getFieldName().equals("year")) { year = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("title")) { title = item.getString(); } if (item.getFieldName().equals("description")) { desciption = item.getString(); } } else { if (StringUtils.isNotEmpty(item.getName())) { files.add(item); } } } HttpSession session = request.getSession(false); Account studentAccount = (Account) session.getAttribute("account"); LocalDateTime now = WsadUtils.GetCurrentDatetime(); // insert EC ec.setAcademicYear(year); ec.setTitle(title); ec.setDescription(desciption); ec.setProcess_status("submitted"); ec.setSubmitted_date(now.toString()); ec.setAccount(studentAccount.getId()); ExtenuatingCircumstance insertedEC = new ExtenuatingCircumstanceDAO().insertEC(ec); //insert assigned coordinator Account coordinator = new AccountDAO().getCoordinator(studentAccount.getFaculty()); insertAssignedCoordinator(coordinator, insertedEC); //insert evidence insertedEvidence(files, now, insertedEC, studentAccount); String mailContent = WsadUtils.buildMailContentForNewEC(insertedEC); SendMail.sendMail(coordinator.getEmail(), "New EC", mailContent); } catch (Exception e) { e.printStackTrace(); } } else { request.setAttribute("message", "Sorry this Servlet only handles file upload request"); } request.setAttribute("resultMsg", "inserted"); request.getRequestDispatcher("AddNewECResult.jsp").forward(request, response); }