List of usage examples for org.apache.commons.fileupload FileItem getString
String getString();
From source file:forseti.admon.JAdmAWSS3Dlg.java
@SuppressWarnings({ "rawtypes", "unchecked" }) public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doPost(request, response); String adm_awss3_dlg = ""; request.setAttribute("adm_awss3_dlg", adm_awss3_dlg); String mensaje = ""; short idmensaje = -1; if (request.getContentType() != null && request.getContentType().toLowerCase().indexOf("multipart/form-data") > -1) { if (!getSesion(request).getRegistrado()) { irApag("/forsetiadmin/errorAtributos.jsp", request, response); return; } else {//from w ww. j a v a 2 s . com if (!getSesion(request).getPermiso("ADM_AWSS3_GESTIONAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_AWSS3_GESTIONAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3_GESTIONAR", "AAS3||||", mensaje); irApag("/forsetiaweb/caja_mensajes.jsp", request, response); return; } try { JGestionArchivos gestion = new JGestionArchivos(); DiskFileUpload fu = new DiskFileUpload(); List items = fu.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { if (item.getFieldName().equals("ID_MODULO")) gestion.setID_MODULO(item.getString()); else if (item.getFieldName().equals("OBJIDS")) gestion.setOBJIDS(item.getString()); else if (item.getFieldName().equals("IDSEP")) gestion.setIDSEP(item.getString()); } else gestion.getArchivos().addElement(item); } if (!getSesion(request).getPermiso(gestion.getID_MODULO())) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_AWSS3_GESTIONAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3_GESTIONAR", "AAS3||||", mensaje); irApag("/forsetiaweb/caja_mensajes.jsp", request, response); return; } SubirArchivo(request, response, gestion); return; } catch (FileUploadException e) { e.printStackTrace(); return; } catch (Exception e) { e.printStackTrace(); return; } } } if (request.getParameter("proceso") != null && !request.getParameter("proceso").equals("")) { if (request.getParameter("proceso").equals("SUBIR_ARCHIVO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_AWSS3_GESTIONAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_AWSS3_GESTIONAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3_GESTIONAR", "AAS3|||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (!getSesion(request).getPermiso(request.getParameter("ID_MODULO"))) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", request.getParameter("ID_MODULO")); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3_GESTIONAR", "AAS3|||", mensaje); irApag("/forsetiweb/caja_mensajes_vsta.jsp", request, response); return; } getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/administracion/adm_awss3_dlg.jsp", request, response); return; } else if (request.getParameter("proceso").equals("DESCARGAR_ARCHIVO")) { if (!getSesion(request).getPermiso("ADM_AWSS3")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_AWSS3"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3", "AAS3|||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (!getSesion(request).getPermiso(request.getParameter("ID_MODULO"))) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", request.getParameter("ID_MODULO")); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3", "AAS3|||", mensaje); irApag("/forsetiweb/caja_mensajes_vsta.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { // Verificacion Descargar(request, response, request.getParameter("id")); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else if (request.getParameter("proceso").equals("ELIMINAR_ARCHIVO")) { // Revisa si tiene permisos if (!getSesion(request).getPermiso("ADM_AWSS3_GESTIONAR")) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", "ADM_AWSS3_GESTIONAR"); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3_GESTIONAR", "AAS3|||", mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } if (!getSesion(request).getPermiso(request.getParameter("ID_MODULO"))) { idmensaje = 3; mensaje += MsjPermisoDenegado(request, "CEF", request.getParameter("ID_MODULO")); getSesion(request).setID_Mensaje(idmensaje, mensaje); RDP("CEF", getSesion(request).getConBD(), "NA", getSesion(request).getID_Usuario(), "ADM_AWSS3_GESTIONAR", "AAS3|||", mensaje); irApag("/forsetiweb/caja_mensajes_vsta.jsp", request, response); return; } // Solicitud de envio a procesar if (request.getParameter("id") != null) { String[] valoresParam = request.getParameterValues("id"); if (valoresParam.length == 1) { //System.out.println("POST:" + request.getParameter("id") + ":request.getParameter(id)"); Eliminar(request, response, request.getParameter("id")); return; } else { idmensaje = 1; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 2); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 1); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } } else // si no se mandan parametros, manda a error { idmensaje = 3; mensaje += JUtil.Msj("GLB", "VISTA", "GLB", "SELEC-PROC", 3); getSesion(request).setID_Mensaje(idmensaje, mensaje); irApag("/forsetiweb/caja_mensajes.jsp", request, response); return; } }
From source file:ambit2.rest.task.CallableFileImport.java
public CallableFileImport(ClientInfo client, SourceDataset dataset, List<FileItem> items, String fileUploadField, Connection connection, DatasetURIReporter<IQueryRetrieval<ISourceDataset>, ISourceDataset> reporter, ConformerURIReporter compoundReporter, boolean firstCompoundOnly, USERID token) { this(client, dataset, (File) null, connection, reporter, compoundReporter, firstCompoundOnly, token); for (final Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem fi = it.next(); if (!fi.isFormField()) continue; if (fi.getFieldName().equals("match")) { try { setMatcher(IStructureKey.Matcher.valueOf(fi.getString()).getMatcher()); break; } catch (Exception x) { setMatcher(null);/*from ww w .j a va 2s . c om*/ } } } upload = new CallableFileUpload(items, new String[] { fileUploadField }) { @Override public Reference createReference() { return null; } @Override protected void processFile(String fieldname, File file, String description) throws Exception { setFile(file, description); } @Override protected void processProperties(Hashtable<String, String> properties) throws Exception { setProperties(properties); } }; }
From source file:com.orange.mmp.context.RequestContext.java
/** * HttpServletRequest getParameterValues delegation method * /*w ww . j a v a2 s . c om*/ * @param name The name of the parameter to get * @return The values of the parameter */ public String[] getParameterValues(String name) { if (!this.isMultipart) return this.httpServletRequest.getParameterValues(name); else if (this.multipartItems != null) { List<String> itemValues = new ArrayList<String>(); for (FileItem item : this.multipartItems) { if (item.isFormField()) itemValues.add(item.getString()); } String[] result = new String[itemValues.size()]; return itemValues.toArray(result); } return null; }
From source file:dk.itst.oiosaml.sp.configuration.ConfigurationHandler.java
private String extractParameter(String name, List<?> files) { for (Iterator<?> i = files.iterator(); i.hasNext();) { FileItem file = (FileItem) i.next(); if (file.isFormField() && file.getFieldName().equals(name)) { return "".equals(file.getString()) ? null : file.getString(); }// w w w .j a v a2s. c o m } return null; }
From source file:de.zib.gndms.kit.monitor.GroovyMonitor.java
/** * Processing of single parts./*from w ww . j a va 2 s. c om*/ * <br /> * * Converts non-file parts into string streams and handles base64 decoding. * * @param b64 if true, the content is asumed to be encoded in base64 * @param args args to the part/script * @param part @throws IOException */ private synchronized void handlePart(boolean b64, @NotNull String args, @NotNull FileItem part) throws IOException { if (!part.isFormField()) { InputStream in = part.getInputStream(); handleStream(b64, args, in); } else { final String val = part.getString(); final InputStream valStream = new ByteArrayInputStream(val.getBytes("utf8")); try { handleStream(b64, args, valStream); } finally { valStream.close(); } } }
From source file:gov.nist.appvet.tool.synchtest.Service.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Get received HTTP parameters and file upload FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = null;//from ww w . j av a 2 s.c o m FileItem fileItem = null; try { items = upload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(); } // Get received items Iterator iter = items.iterator(); FileItem item = null; while (iter.hasNext()) { item = (FileItem) iter.next(); if (item.isFormField()) { // Get HTML form parameters String incomingParameter = item.getFieldName(); String incomingValue = item.getString(); if (incomingParameter.equals("appid")) { appId = incomingValue; log.info("Received app ID: " + appId); } /** CHANGE (START): Get other tools-specific form parameters **/ /** CHANGE (END): Get other tools-specific form parameters **/ } else { // item should now hold the received file if (item != null) { fileItem = item; log.info("Received file: " + fileItem.getName()); } } } if (appId == null) { // All tool services require an AppVet app ID log.error("Received null app ID. Returning HTTP 400"); HttpUtil.sendHttp400(response, "No app ID specified"); return; } if (fileItem != null) { // Get app file fileName = FileUtil.getFileName(fileItem.getName()); if (!fileName.endsWith(".apk")) { log.error("Received invalid app file. Returning HTTP 400"); HttpUtil.sendHttp400(response, "Invalid app file: " + fileItem.getName()); return; } // Create app directory appDirPath = Properties.TEMP_DIR + "/" + appId; File appDir = new File(appDirPath); if (!appDir.exists()) { appDir.mkdir(); } // Create report path reportFilePath = Properties.TEMP_DIR + "/" + appId + "/" + reportName + "." + Properties.reportFormat.toLowerCase(); appFilePath = Properties.TEMP_DIR + "/" + appId + "/" + fileName; log.debug("App file path: " + appFilePath); if (!FileUtil.saveFileUpload(fileItem, appFilePath)) { log.error("Could not save file. Returning HTTP 500"); HttpUtil.sendHttp500(response, "Could not save uploaded file"); return; } log.debug("Saved app file"); } else { HttpUtil.sendHttp400(response, "No app was received."); return; } // Use if reading command from ToolProperties.xml. Otherwise, // comment-out if using custom command (called by customExecute()) //command = getCommand(); /* * CHANGE: Select either execute() to execute a native OS command or * customExecute() to execute your own custom code. Make sure that the * unused method call is commented-out. */ reportBuffer = new StringBuffer(); boolean succeeded = customExecute(reportBuffer); if (!succeeded) { log.error("Error detected: " + reportBuffer.toString()); String errorReport = ReportUtil.getHtmlReport(response, fileName, ToolStatus.ERROR, reportBuffer.toString()); // Send report to AppVet if (Properties.protocol.equals(Protocol.SYNCHRONOUS.name())) { // Send back ASCII in HTTP Response ReportUtil.sendInHttpResponse(response, errorReport, ToolStatus.ERROR); } return; } // Analyze report and generate tool status log.info("Analyzing report for " + appFilePath); // ToolStatus risk = ReportUtil.analyzeReport(reportBuffer // .toString()); ToolStatus risk = ToolStatus.LOW; // Just set to LOW for testing log.info("Result: " + risk.name()); String reportContent = null; // Get report if (Properties.reportFormat.equals(ReportFormat.HTML.name())) { reportContent = ReportUtil.getHtmlReport(response, fileName, risk, reportBuffer.toString()); } // else if (Properties.reportFormat.equals(ReportFormat.TXT.name())) { // reportContent = getTxtReport(); // } else if (Properties.reportFormat.equals(ReportFormat.PDF.name())) { // reportContent = getPdfReport(); // } else if (Properties.reportFormat.equals(ReportFormat.JSON.name())) { // reportContent = getJsonReport(); // } // If report is null or empty, stop processing if (reportContent == null || reportContent.isEmpty()) { log.error("Tool report is null or empty"); return; } else { log.info("Report generated"); } // Send report to AppVet if (Properties.protocol.equals(Protocol.SYNCHRONOUS.name())) { // Send back ASCII in HTTP Response ReportUtil.sendPDFInHttpResponse(response, reportContent, risk); } // Clean up if (!Properties.keepApps) { if (FileUtil.deleteDirectory(new File(appDirPath))) { log.debug("Deleted " + appFilePath); } else { log.error("Could not delete " + appFilePath); } } log.info("Done processing app " + appId); reportBuffer = null; System.gc(); }
From source file:it.swim.servlet.profilo.azioni.ModificaProfiloServlet.java
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */// www .j a va 2 s . c om @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // ottengo l'email dell'utente collegato dalla sessione, appoggiandomi // ad una classe di utilita' String emailUtenteCollegato = (String) UtenteCollegatoUtil.getEmailUtenteCollegato(request); // se e' null e' perche' l'utente non e' collegato e allora devo fare il // redirect alla home if (emailUtenteCollegato == null) { response.sendRedirect("../../home"); return; } List<FileItem> items; Blob blob = null; String password = new String(); String nome = new String(); String cognome = new String(); String confermaHiddenInput = new String(); List<Abilita> abilitaDaAggiungereAllePersonali = new ArrayList<Abilita>(); try { items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { if (item.isFormField()) { // Process regular form field (input // type="text|radio|checkbox|etc", select, etc). // ... (do your job here) if (item.getFieldName().equals("password")) { password = item.getString(); } if (item.getFieldName().equals("nome")) { nome = item.getString(); } if (item.getFieldName().equals("cognome")) { cognome = item.getString(); } if (item.getFieldName().equals("abilita")) { abilitaDaAggiungereAllePersonali.add(registrazione.getAbilitaByNome(item.getString())); } if (item.getFieldName().equals("conferma")) { confermaHiddenInput = item.getString(); } } else { //non cancellare questi commenti, potranno tornare utili // Process form file field (input type="file"). // String fieldname = item.getFieldName(); // String filename = item.getName(); // InputStream filecontent = item.getInputStream(); try { blob = ConvertitoreFotoInBlob.getBlobFromFileItem(item, LUNGHEZZA, ALTEZZA, DIMMB); } catch (FotoException e) { if (e.getCausa().equals(FotoException.Causa.FILETROPPOGRANDE)) { request.setAttribute("erroreFileTroppoGrande", "Errore, file troppo grande! La foto attuale del profilo non e' stata modificata"); } else { if (e.getCausa().equals(FotoException.Causa.NONRICONOSCIUTACOMEFOTO)) { request.setAttribute("erroreNonFoto", "Errore, foto non riconosciuta! La foto attuale del profilo non e' stata modificata"); } } //in questo caso uploada una foto predefinita request.setAttribute("erroreFotoSconosciuto", "Errore durante il caricamento della foto! La foto attuale del profilo non e' stata modificata"); } } } log.debug("password: " + password); log.debug("nome: " + nome); log.debug("cognome: " + cognome); log.debug("Lista abilita da aggiungere all'utente: " + Arrays.toString(abilitaDaAggiungereAllePersonali.toArray())); } catch (FileUploadException e) { log.error(e.getMessage(), e); request.setAttribute("erroreInserimentoFoto", "Errore nel caricamento della nuova foto del profilo"); } catch (SerialException e) { log.error(e.getMessage(), e); request.setAttribute("erroreInserimentoFoto", "Errore nel caricamento della nuova foto del profilo"); } catch (SQLException e) { log.error(e.getMessage(), e); request.setAttribute("erroreInserimentoFoto", "Errore nel caricamento della nuova foto del profilo"); } log.debug("abilitaDaAggiungereAllePersonali : " + Arrays.toString(abilitaDaAggiungereAllePersonali.toArray())); if (confermaHiddenInput != null && confermaHiddenInput.equals("CONFERMA")) { if (abilitaDaAggiungereAllePersonali.size() >= 1) { boolean modificaInsiemePersonaleAbilita = modificaProfilo .modificaInsiemePersonaleAbilita(emailUtenteCollegato, abilitaDaAggiungereAllePersonali); log.debug("modificaInsiemePersonaleAbilita: " + modificaInsiemePersonaleAbilita); if (modificaInsiemePersonaleAbilita) { request.setAttribute("modificaAbilitaRiuscitaConSuccesso", "Modifica eseguita correttamente"); } else { log.debug("Errore inserimento abilita"); request.setAttribute("erroreInserimentoProposta", "Errore nell'aggiunta di nuove abilita'"); } } if (blob != null) { boolean modificaFotoRiuscita = modificaProfilo.modificaFoto(emailUtenteCollegato, blob); log.debug("modificaFotoRiuscita: " + modificaFotoRiuscita); if (modificaFotoRiuscita) { request.setAttribute("modificaFotoRiuscitaConSuccesso", "Modifica eseguita correttamente"); } else { log.debug("Errore modifica foto"); request.setAttribute("erroreInserimentoFoto", "Errore nel caricamento della nuova foto del profilo"); } } } else { request.setAttribute("nonHaiConfermatoInvioForm", "Hai interrotto la procedura. Nessun dato e' stato inviato"); } try { request.setAttribute("abilita", this.getListaAbilitaAggiungibili(emailUtenteCollegato)); } catch (RicercheException e) { log.error(e.getMessage(), e); request.setAttribute("erroreGelListaAbilitaAggiungibili", "Errore caricamento abilita' modificabili dall'utente"); } getServletConfig().getServletContext().getRequestDispatcher("/jsp/utenti/profilo/modificaProfilo.jsp") .forward(request, response); }
From source file:Control.HandleAddFoodMenu.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//w w w .j av a 2 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 { response.setContentType("text/html;charset=UTF-8"); HttpSession session = request.getSession(); Food temp = new Food(); try (PrintWriter out = response.getWriter()) { LinkedList<String> names = new LinkedList<>(); /* TODO output your page here. You may use following sample code. */ String path = getClass().getResource("/").getPath(); String[] tempS = null; if (Paths.path == null) { File file = new File(path + "test.html"); path = file.getParent(); File file1 = new File(path + "test1.html"); path = file1.getParent(); File file2 = new File(path + "test1.html"); path = file2.getParent(); Paths.path = path; } else { path = Paths.path; } path = Paths.tempPath; String name; String sepName = Tools.CurrentTime(); if (ServletFileUpload.isMultipartContent(request)) { List<?> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); Iterator iter = multiparts.iterator(); int index = 0; tempS = new String[multiparts.size() - 1]; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { name = new File(item.getName()).getName(); names.add(name); String FilePath = path + Paths.foodImagePath + sepName + name; item.write(new File(FilePath)); } else { String test = item.getFieldName(); tempS[index++] = item.getString(); } } index = 0; temp.categoryid = Integer.parseInt(tempS[index++]); temp.ID = tempS[index++]; temp.name = tempS[index++]; temp.price = Double.parseDouble(tempS[index++]); temp.pieces = Integer.parseInt(tempS[index++]); temp.description = tempS[index++]; temp.restid = Integer.parseInt(tempS[index++]); temp.resID = tempS[index++]; temp.rename = tempS[index++]; } if (Food.checkExisted(temp.ID, temp.name)) { response.sendRedirect("./Admin/AddMenu.jsp?index=1" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } else { if (Food.addNewFood(temp)) { int id = Food.getFoodID(temp.ID); boolean flag = true; for (String s : names) { if (Image.addImage(s, Paths.foodImagePathStore + sepName + s, id)) { } else { flag = false; break; } } if (flag) { response.sendRedirect("./Admin/AddMenu.jsp?index=2" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } else { response.sendRedirect("./Admin/AddMenu.jsp?index=4" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } } else { response.sendRedirect("./Admin/AddMenu.jsp?index=3" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } } } catch (Exception e) { response.sendRedirect("./Admin/AddMenu.jsp?index=0" + "&id=" + temp.restid + "&restid=" + temp.resID + "&name=" + temp.rename); } }
From source file:com.sun.portal.portletcontainer.driver.admin.UploadServlet.java
private void uploadFile(HttpServletRequest request, HttpServletResponse response) throws FileUploadException, PortletRegistryException { HttpSession session = AdminUtils.getClearedSession(request); SilverpeasDiskFileItemFactory factory = new SilverpeasDiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(maxUploadSize);//from w w w . j a v a 2 s .c om // Parse the request @SuppressWarnings("unchecked") List<FileItem> fileItems = upload.parseRequest(request); Iterator<FileItem> itr = fileItems.iterator(); while (itr.hasNext()) { FileItem fi = itr.next(); // The following is not being used since in the upload form we are // not using any // non-file form fields. If you do put in some form fields you want // to use, // then this is where you will get the values of the form fields. - // Sandeep if (fi.isFormField()) { String name = fi.getFieldName(); String value = fi.getString(); } } String[] fileNames = new String[2]; itr = fileItems.iterator(); int i = 0; while (itr.hasNext()) { FileItem fi = itr.next(); if (!fi.isFormField()) { fileNames[i] = processFileItem(fi); i++; } } deployPortlet(fileNames, session); // refresh portlet list AdminUtils.refreshList(request, getLanguage(request)); }
From source file:gov.nist.appvet.tool.AsynchronousService.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = null;// w w w. j a v a2 s . com FileItem fileItem = null; String appId = null; try { items = upload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(); } // Get form fields Iterator iter = items.iterator(); FileItem item = null; while (iter.hasNext()) { item = (FileItem) iter.next(); if (item.isFormField()) { String incomingParameter = item.getFieldName(); String incomingValue = item.getString(); if (incomingParameter.equals("appid")) { appId = incomingValue; } log.debug("Received: " + incomingParameter + " = " + incomingValue); } else { // item should now hold the received file if (item != null) { fileItem = item; } } } // If app ID and file were received, send back HTTP 202 now if (appId != null && fileItem != null) { sendHttp202(response, "Received app " + appId + " for processing."); } else { sendHttp400(response, "Did not receive proper request."); return; } String appFilePath = null; String reportPath = null; String fileName = null; if (item != null) { fileName = getFileName(fileItem.getName()); if (!fileName.endsWith(".apk")) { sendHttp400(response, "Invalid app file: " + fileItem.getName()); return; } appFilePath = Properties.TEMP_DIR + "/" + appId + fileName; reportPath = Properties.TEMP_DIR + "/" + appId + "_report.txt"; log.debug("appFilePath: " + appFilePath); if (!saveFileUpload(fileItem, appFilePath)) { sendHttp500(response, "Could not save uploaded file"); return; } } else { log.error("File item was null."); return; } // Test app AndroidVulnerabilityScanner vulnerabilityScanner = new AndroidVulnerabilityScanner(appFilePath); boolean masterKeyFound = vulnerabilityScanner.hasMasterKey(); boolean extraFieldFound = vulnerabilityScanner.hasExtraField(); vulnerabilityScanner.close(); // Generate report String htmlReport = null; ToolStatus reportStatus = null; if (masterKeyFound) { reportStatus = ToolStatus.FAIL; htmlReport = generateReport(fileName, reportStatus, "Master Key vulnerability detected."); } if (extraFieldFound) { reportStatus = ToolStatus.FAIL; htmlReport = generateReport(fileName, reportStatus, "Extra Field vulnerability detected."); } if (!masterKeyFound && !extraFieldFound) { reportStatus = ToolStatus.PASS; htmlReport = generateReport(fileName, reportStatus, "No Master Key or Extra Field vulnerablity detected."); } // Write report file PrintWriter out = new PrintWriter(reportPath); out.write(htmlReport); out.close(); // Now send report sendReport(appId, reportStatus.name(), reportPath); boolean deleted = deleteFile(appFilePath); if (deleted) { log.debug("Deleted app " + appFilePath); } else { log.error("Could not delete app file " + appFilePath); } deleted = deleteFile(reportPath); if (deleted) { log.debug("Deleted report " + reportPath); } else { log.error("Could not delete report file " + reportPath); } // Clean up System.gc(); }