List of usage examples for org.apache.commons.fileupload FileItem getFieldName
String getFieldName();
From source file:filter.MultipartRequestFilter.java
/** * Process multipart request item as file field. The name and FileItem object of each file field * will be added as attribute of the given HttpServletRequest. If a FileUploadException has * occurred when the file size has exceeded the maximum file size, then the FileUploadException * will be added as attribute value instead of the FileItem object. * @param fileField The file field to be processed. * @param request The involved HttpServletRequest. *//* w w w .j a v a2s . co m*/ private void processFileField(FileItem fileField, HttpServletRequest request) { if (fileField.getName().length() <= 0) { // No file uploaded. addAttributeValue(request, fileField.getFieldName(), null); } else if (maxFileSize > 0 && fileField.getSize() > maxFileSize) { // File size exceeds maximum file size. addAttributeValue(request, fileField.getFieldName(), new FileUploadException("File size exceeds maximum file size of " + maxFileSize + " bytes.")); // Immediately delete temporary file to free up memory and/or disk space. fileField.delete(); } else { // File uploaded with good size. addAttributeValue(request, fileField.getFieldName(), fileField); } }
From source file:edu.lafayette.metadb.web.controlledvocab.UpdateVocab.java
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) *//* w ww . jav a 2 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 vocabName = null; String name = "nothing"; String status = "Upload failed "; try { if (ServletFileUpload.isMultipartContent(request)) { status = "isMultiPart"; ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); List fileItemsList = servletFileUpload.parseRequest(request); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setSizeThreshold(40960); /* the unit is bytes */ InputStream input = null; Iterator it = fileItemsList.iterator(); String result = ""; String vocabs = null; int assigned = -1; while (it.hasNext()) { FileItem fileItem = (FileItem) it.next(); result += "UpdateVocab: Form Field: " + fileItem.isFormField() + " Field name: " + fileItem.getFieldName() + " Name: " + fileItem.getName() + " String: " + fileItem.getString("utf-8") + "\n"; if (fileItem.isFormField()) { /* The file item contains a simple name-value pair of a form field */ if (fileItem.getFieldName().equals("vocab-name")) vocabName = fileItem.getString(); else if (fileItem.getFieldName().equals("vocab-terms")) vocabs = fileItem.getString("utf-8"); else if (fileItem.getFieldName().equals("assigned-field")) assigned = Integer.parseInt(fileItem.getString()); } else { if (fileItem.getString() != null && !fileItem.getString().equals("")) { @SuppressWarnings("unused") String content = "nothing"; /* The file item contains an uploaded file */ /* Create new File object File uploadedFile = new File("test.txt"); if(!uploadedFile.exists()) uploadedFile.createNewFile(); // Write the uploaded file to the system fileItem.write(uploadedFile); */ name = fileItem.getName(); content = fileItem.getContentType(); input = fileItem.getInputStream(); } } } //MetaDbHelper.note(result); if (vocabName != null) { Set<String> vocabList = new TreeSet<String>(); if (input != null) { Scanner fileSc = new Scanner(input); while (fileSc.hasNextLine()) { String vocabEntry = fileSc.nextLine(); vocabList.add(vocabEntry.trim()); } HttpSession session = request.getSession(false); if (session != null) { String userName = (String) session.getAttribute("username"); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "User " + userName + " created vocab " + vocabName); } status = "Vocab name: " + vocabName + ". File name: " + name + "\n"; } else { //MetaDbHelper.note(vocabs); for (String vocabTerm : vocabs.split("\n")) vocabList.add(vocabTerm); } if (!vocabList.isEmpty()) { boolean updated = ControlledVocabDAO.addControlledVocab(vocabName, vocabList) || ControlledVocabDAO.updateControlledVocab(vocabName, vocabList); if (updated) { status = "Vocab " + vocabName + " updated successfully "; if (assigned != -1) if (!AdminDescAttributesDAO.setControlledVocab(assigned, vocabName)) { status = "Vocab " + vocabName + " cannot be assigned to " + assigned; } } else status = "Vocab " + vocabName + " cannot be updated/created"; } else status = "Vocab " + vocabName + " has empty vocabList"; } } } catch (Exception e) { MetaDbHelper.logEvent(e); } MetaDbHelper.note(status); out.print(status); out.flush(); }
From source file:com.bradmcevoy.http.ServletRequest.java
@Override public void parseRequestParameters(Map<String, String> params, Map<String, com.bradmcevoy.http.FileItem> files) throws RequestParseException { try {/* ww w. j av a2 s.co m*/ if (isMultiPart()) { log.trace("parseRequestParameters: isMultiPart"); UploadListener listener = new UploadListener(); MonitoredDiskFileItemFactory factory = new MonitoredDiskFileItemFactory(listener); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); parseQueryString(params); for (Object o : items) { FileItem item = (FileItem) o; if (item.isFormField()) { params.put(item.getFieldName(), item.getString()); } else { // See http://jira.ettrema.com:8080/browse/MIL-118 - ServletRequest#parseRequestParameters overwrites multiple file uploads when using input type="file" multiple="multiple" String itemKey = item.getFieldName(); if (files.containsKey(itemKey)) { int count = 1; while (files.containsKey(itemKey + count)) { count++; } itemKey = itemKey + count; } files.put(itemKey, new FileItemWrapper(item)); } } } else { for (Enumeration en = request.getParameterNames(); en.hasMoreElements();) { String nm = (String) en.nextElement(); String val = request.getParameter(nm); params.put(nm, val); } } } catch (FileUploadException ex) { throw new RequestParseException("FileUploadException", ex); } catch (Throwable ex) { throw new RequestParseException(ex.getMessage(), ex); } }
From source file:com.mirth.connect.server.servlets.ExtensionServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // MIRTH-1745 response.setCharacterEncoding("UTF-8"); if (!isUserLoggedIn(request)) { response.sendError(HttpServletResponse.SC_FORBIDDEN); } else {/* w ww . j a va 2 s . c o m*/ try { ExtensionController extensionController = ControllerFactory.getFactory() .createExtensionController(); ObjectXMLSerializer serializer = new ObjectXMLSerializer(); PrintWriter out = response.getWriter(); FileItem multiPartFileItem = null; Operation operation = null; Map<String, Object> parameterMap = new HashMap<String, Object>(); if (ServletFileUpload.isMultipartContent(request)) { Map<String, String> multipartParameters = new HashMap<String, String>(); File installTempDir = new File(ExtensionController.getExtensionsPath(), "install_temp"); if (!installTempDir.exists()) { installTempDir.mkdir(); } // we need to load properties from the multipart data DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(installTempDir); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (item.isFormField()) { multipartParameters.put(item.getFieldName(), item.getString()); } else { // only supports a single file multiPartFileItem = item; } } operation = Operations.getOperation(multipartParameters.get("op")); } else { operation = Operations.getOperation(request.getParameter("op")); } if (operation.equals(Operations.PLUGIN_PROPERTIES_GET)) { String pluginName = request.getParameter("name"); if (isUserAuthorizedForExtension(request, pluginName, operation.getName(), null)) { response.setContentType(APPLICATION_XML); serializer.toXML(extensionController.getPluginProperties(pluginName), out); } else { response.sendError(HttpServletResponse.SC_UNAUTHORIZED); } } else if (operation.equals(Operations.PLUGIN_PROPERTIES_SET)) { String pluginName = request.getParameter("name"); if (isUserAuthorizedForExtension(request, pluginName, operation.getName(), null)) { Properties properties = (Properties) serializer.fromXML(request.getParameter("properties")); extensionController.setPluginProperties(pluginName, properties); extensionController.updatePluginProperties(pluginName, properties); } else { response.sendError(HttpServletResponse.SC_UNAUTHORIZED); } } else if (operation.equals(Operations.PLUGIN_METADATA_GET)) { response.setContentType(APPLICATION_XML); serializer.toXML(extensionController.getPluginMetaData(), out); } else if (operation.equals(Operations.EXTENSION_SET_ENABLED)) { String pluginName = request.getParameter("name"); boolean enabled = BooleanUtils.toBoolean(request.getParameter("enabled")); parameterMap.put("extension", pluginName); parameterMap.put("enabled", enabled); if (isUserAuthorized(request, parameterMap)) { extensionController.setExtensionEnabled(pluginName, enabled); } else { response.sendError(HttpServletResponse.SC_UNAUTHORIZED); } } else if (operation.equals(Operations.CONNECTOR_METADATA_GET)) { response.setContentType(APPLICATION_XML); serializer.toXML(extensionController.getConnectorMetaData(), out); } else if (operation.equals(Operations.EXTENSION_IS_ENABLED)) { String extensionName = request.getParameter("name"); response.setContentType(TEXT_PLAIN); out.print(extensionController.isExtensionEnabled(extensionName)); } else if (operation.equals(Operations.PLUGIN_SERVICE_INVOKE)) { String pluginName = request.getParameter("name"); String method = request.getParameter("method"); Object object = serializer.fromXML(request.getParameter("object")); String sessionId = request.getSession().getId(); if (isUserAuthorizedForExtension(request, pluginName, method, null)) { serializer.toXML( extensionController.invokePluginService(pluginName, method, object, sessionId), out); } else { response.sendError(HttpServletResponse.SC_UNAUTHORIZED); } } else if (operation.equals(Operations.CONNECTOR_SERVICE_INVOKE)) { String name = request.getParameter("name"); String method = request.getParameter("method"); Object object = serializer.fromXML(request.getParameter("object")); String sessionId = request.getSession().getId(); response.setContentType(APPLICATION_XML); serializer.toXML(extensionController.invokeConnectorService(name, method, object, sessionId), out); } else if (operation.equals(Operations.EXTENSION_UNINSTALL)) { String packageName = request.getParameter("packageName"); parameterMap.put("packageName", packageName); if (isUserAuthorized(request, parameterMap)) { extensionController.prepareExtensionForUninstallation(packageName); } else { response.sendError(HttpServletResponse.SC_UNAUTHORIZED); } } else if (operation.equals(Operations.EXTENSION_INSTALL)) { if (isUserAuthorized(request, null)) { /* * This is a multi-part method, so we need our * parameters from the new map */ extensionController.extractExtension(multiPartFileItem); } else { response.sendError(HttpServletResponse.SC_UNAUTHORIZED); } } } catch (RuntimeIOException rio) { logger.debug(rio); } catch (Throwable t) { logger.error(ExceptionUtils.getStackTrace(t)); throw new ServletException(t); } } }
From source file:mx.org.cedn.avisosconagua.engine.processors.Pronostico.java
/** * Processes an uploaded file and stores it in MongoDB. * @param item file item from the parsed servlet request * @param currentId ID for the current MongoDB object for the advice * @return file name/* ww w . j a va2 s .co m*/ * @throws IOException */ private String processUploadedFile(FileItem item, String currentId) throws IOException { GridFS gridfs = MongoInterface.getInstance().getImagesFS(); GridFSInputFile gfsFile = gridfs.createFile(item.getInputStream()); String filename = currentId + ":" + item.getFieldName() + "_" + item.getName(); gfsFile.setFilename(filename); gfsFile.setContentType(item.getContentType()); gfsFile.save(); return filename; }
From source file:mx.org.cedn.avisosconagua.engine.processors.Pronostico.java
@Override public void processForm(HttpServletRequest request, String[] parts, String currentId) throws ServletException, IOException { HashMap<String, String> parametros = new HashMap<>(); boolean fileflag = false; AvisosException aex = null;//from ww w.j av a 2 s. c om if (ServletFileUpload.isMultipartContent(request)) { try { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(MAX_SIZE); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(MAX_SIZE); List<FileItem> items = upload.parseRequest(request); String filename = null; for (FileItem item : items) { if (!item.isFormField() && item.getSize() > 0) { filename = processUploadedFile(item, currentId); parametros.put(item.getFieldName(), filename); } else { //System.out.println("item:" + item.getFieldName() + "=" + item.getString()); parametros.put(item.getFieldName(), new String(item.getString().getBytes("ISO8859-1"), "UTF-8")); } } } catch (FileUploadException fue) { fue.printStackTrace(); fileflag = true; aex = new AvisosException("El archivo sobrepasa el tamao de " + MAX_SIZE + " bytes", fue); } } else { for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet()) { try { parametros.put(entry.getKey(), new String(request.getParameter(entry.getKey()).getBytes("ISO8859-1"), "UTF-8")); } catch (UnsupportedEncodingException ue) { //No debe llegar a este punto assert false; } } } BasicDBObject anterior = (BasicDBObject) MongoInterface.getInstance().getAdvice(currentId).get(parts[3]); procesaImagen(parametros, anterior); MongoInterface.getInstance().savePlainData(currentId, parts[3], parametros); if (fileflag) { throw aex; } }
From source file:UploadDownloadFile.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response);/*from w w w .ja va 2 s. com*/ String filePath; final String clientip = request.getRemoteAddr().replace(":", "_"); filePath = "/Users/" + currentuser + "/GlassFish_Server/glassfish/domains/domain1/tmpfiles/Uploaded/" + clientip + "/"; System.out.println("filePath = " + filePath); // filePath = "/Users/jhovarie/Desktop/webuploaded/"; File f = new File(filePath); if (!f.exists()) { f.mkdirs(); } 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; } 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")); factory.setRepository(new File(filePath)); // 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>"); out.println("<a href='" + currenthost + "/UploadDownloadFile/index.html'><< BACK <<</a><br/>"); String fileName = ""; 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>"); } } out.println("Target Location = " + filePath); out.write( "<br/><a href=\"UploadDownloadFile?fileName=" + fileName + "\">Download " + fileName + "</a>"); out.println("</body>"); out.println("</html>"); } catch (Exception ex) { System.out.println("Error in Process " + ex); } }
From source file:com.krawler.spring.hrms.common.hrmsExtApplDocsDAOImpl.java
public void parseRequest(List fileItems, HashMap<String, String> arrParam, ArrayList<FileItem> fi, boolean fileUpload) throws ServiceException { FileItem fi1 = null; for (Iterator k = fileItems.iterator(); k.hasNext();) { fi1 = (FileItem) k.next();/*from ww w .j av a2 s . c om*/ if (fi1.isFormField()) { arrParam.put(fi1.getFieldName(), fi1.getString()); } else { if (fi1.getSize() != 0) { fi.add(fi1); fileUpload = true; } } } }
From source file:com.nabla.wapp.server.basic.general.ImportService.java
@Override public String executeAction(final HttpServletRequest request, final List<FileItem> sessionFiles) throws UploadActionException { final UserSession userSession = UserSession.load(request); if (userSession == null) { if (log.isTraceEnabled()) log.trace("missing user session"); throw new UploadActionException("permission denied"); }/*w w w .j a v a 2s . c o m*/ Assert.state(sessionFiles.size() == 1); try { for (FileItem file : sessionFiles) { if (file.isFormField()) continue; if (log.isDebugEnabled()) { log.debug("field '" + file.getFieldName() + "': uploading " + file.getName()); log.debug("field: " + file.getFieldName()); log.debug("filename: " + file.getName()); log.debug("content_type: " + file.getContentType()); log.debug("size: " + file.getSize()); } final Connection conn = db.getConnection(); try { final PreparedStatement stmt = conn.prepareStatement( "INSERT INTO import_data (field_name, file_name, content_type, length, content, userSessionId) VALUES(?,?,?,?,?,?);", Statement.RETURN_GENERATED_KEYS); try { stmt.setString(1, file.getFieldName()); stmt.setString(2, file.getName()); stmt.setString(3, file.getContentType()); stmt.setLong(4, file.getSize()); stmt.setString(6, userSession.getSessionId()); final InputStream fs = file.getInputStream(); try { stmt.setBinaryStream(5, fs); if (stmt.executeUpdate() != 1) { if (log.isErrorEnabled()) log.error("failed to add imported file record"); throw new UploadActionException("internal error"); } final ResultSet rsKey = stmt.getGeneratedKeys(); try { rsKey.next(); final Integer id = rsKey.getInt(1); if (log.isDebugEnabled()) log.debug( "uploading " + file.getName() + " successfully completed. id = " + id); return id.toString(); } finally { rsKey.close(); } } finally { fs.close(); } } catch (IOException e) { if (log.isErrorEnabled()) log.error("error reading file " + file.getName(), e); throw new UploadActionException("internal error"); } finally { Database.close(stmt); } } finally { // remove any orphan import records i.e. older than 48h (beware of timezone!) final Calendar dt = Util.dateToCalendar(new Date()); dt.add(GregorianCalendar.DATE, -2); try { Database.executeUpdate(conn, "DELETE FROM import_data WHERE created < ?;", Util.calendarToSqlDate(dt)); } catch (final SQLException __) { } Database.close(conn); } } } catch (SQLException e) { if (log.isErrorEnabled()) log.error("error uploading file", e); throw new UploadActionException("internal error"); } finally { super.removeSessionFileItems(request); } return null; }
From source file:controller.StudentController.java
@RequestMapping(value = "/add", method = RequestMethod.POST) public String addorchange(HttpServletRequest request) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); // int mssv = Integer.parseInt(request.getParameter("mssv")); // String tensv = request.getParameter("tensv"); // String ngaysinh = request.getParameter("ngaysinh"); // String ngaydi = request.getParameter("ngaydi"); // String que = request.getParameter("que"); // String lop = request.getParameter("lop"); // String khoa = request.getParameter("khoa"); // int sdt = Integer.parseInt(request.getParameter("sdt")); // int maphong = Integer.parseInt(request.getParameter("roomnum")); // int makhu = Integer.parseInt(request.getParameter("roomregion")); int mssv = 0; String tensv = null;/*from w w w. j av a2s . c o m*/ String ngaysinh = null; String ngaydi = null; String que = null; String lop = null; String khoa = null; int sdt = 0; int maphong = 0; int makhu = 0; FileItem f = null; String fName = null; try { List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.getFieldName().equals("mssv")) { mssv = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("tensv")) { tensv = item.getString(); } if (item.getFieldName().equals("ngaysinh")) { ngaysinh = item.getString(); } if (item.getFieldName().equals("ngaydi")) { ngaydi = item.getString(); } if (item.getFieldName().equals("que")) { que = item.getString(); } if (item.getFieldName().equals("lop")) { lop = item.getString(); } if (item.getFieldName().equals("khoa")) { khoa = item.getString(); } if (item.getFieldName().equals("sdt")) { sdt = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("roomnum")) { maphong = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("roomregion")) { makhu = Integer.parseInt(item.getString()); } if (!item.isFormField()) { f = item; fName = new File(item.getName()).getName(); } } } catch (FileUploadException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } RoomRegion region = new RoomRegion(makhu, ""); Room room = new Room(maphong, region, 0, 0, null, null); if (room.checkRoom()) { Student student = new Student(mssv, tensv, ngaysinh, que, lop, khoa, room, sdt, ngaydi, fName); request.setAttribute("roomnum", new Room().roomList()); request.setAttribute("roomregion", new RoomRegion().regionList()); try { if (student.add() >= 3) { String path = request.getServletContext().getRealPath("/"); String UPLOAD_DIRECTORY = path + "/static/uploads"; File dir = new File(UPLOAD_DIRECTORY); dir.mkdirs(); File file = new File(dir.getAbsolutePath() + System.getProperty("file.separator") + fName); f.write(file); System.out.println(file.getPath()); request.setAttribute("message", "Thm thnh cng!"); } else { request.setAttribute("message", "Khng thm c, Sinh vin ny tn ti!"); } } catch (SQLException ex) { Logger.getLogger(StudentController.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { request.setAttribute("message", "Phng ny hin y!"); } request.setAttribute("id", "add"); return SVManager(request); }