List of usage examples for org.apache.commons.fileupload.servlet ServletRequestContext ServletRequestContext
public ServletRequestContext(HttpServletRequest request)
From source file:org.ednovo.gooru.application.server.service.uploadServlet.java
@Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { FileItem uploadedFileItem = null;//from w ww. j a va 2s.co m String fileName = ""; JSONArray jsonArray = null; boolean isMultiPart = ServletFileUpload.isMultipartContent(new ServletRequestContext(request)); if (isMultiPart) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setFileSizeMax(31457280); String responsedata = ""; try { try { @SuppressWarnings("rawtypes") java.util.List items = upload.parseRequest(request); ApplicationContext appContext = new ClassPathXmlApplicationContext("gooruContext-service.xml"); Properties restConstants = (Properties) appContext.getBean("restConstants"); for (int i = 0; i < items.size(); i++) { uploadedFileItem = (FileItem) items.get(i); } String stoken = (String) request.getSession(false).getAttribute("gooru-session-token"); try { //This will replace all the non-word characters with '_' excluding the dot. fileName = uploadedFileItem.getName().replaceAll("[^\\w.]", "_"); } catch (Exception e) { logger.error("Exception:::" + e); } String requestData = "uploadFileName=" + fileName + "&imageURL=&sessionToken=" + stoken; String url = UrlGenerator.generateUrl(restConstants.getProperty(REST_ENDPOINT), UrlToken.FILE_UPLOAD_GET_URL, fileName, stoken); try { responsedata = webInvokeForImage("POST", requestData, "multipart/form-data", request, uploadedFileItem.get(), fileName, uploadedFileItem.getSize(), url); jsonArray = new JSONArray(responsedata); } catch (UnsupportedEncodingException e) { logger.error("UnsupportedEncodingException:::" + e); } response.setContentType("text/html"); response.getOutputStream().print(jsonArray.get(0).toString()); response.getOutputStream().flush(); } catch (FileUploadBase.FileSizeLimitExceededException e) { logger.error("FileSizeLimitExceededException:::" + e); responsedata = "file size error"; response.setContentType("text/html"); response.getOutputStream().print(responsedata); response.getOutputStream().flush(); } } catch (Exception e) { logger.error("Global exception:::" + e); } } }
From source file:org.lainsoft.forge.flow.helper.GenericViewHelper.java
public Map track_parameters() { if (params == null || params.isEmpty()) { params = new TreeMap(); params.put("request_params", request.getParameterMap()); params.put("mime_params", new TreeMap()); ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); if (upload.isMultipartContent(new ServletRequestContext(request))) { System.out.println("FILEUPLOAD>Parsing params"); List items = new ArrayList(); try { items = upload.parseRequest(request); } catch (FileUploadException fue) { System.out.println("Couldn't parse request>" + fue); fue.printStackTrace();//from ww w . j a va2 s. c o m } Map tracked_req_params = new TreeMap(); Map tracked_mime_params = new TreeMap(); for (int i = 0; i < items.size(); i++) { FileItem item = (FileItem) items.get(i); if (item.isFormField()) { tracked_req_params.put(item.getFieldName(), item.getString()); } else { tracked_mime_params.put(item.getFieldName(), item); } } params.put("request_params", tracked_req_params); params.put("mime_params", tracked_mime_params); } } return params; }
From source file:org.nuxeo.ecm.platform.ui.web.util.FileUploadHelper.java
/** * Parses a Multipart Servlet Request to extract blobs *//* w ww .j av a 2s . c om*/ public static List<Blob> parseRequest(HttpServletRequest request) throws FileUploadException, IOException { List<Blob> blobs = new ArrayList<Blob>(); if (request instanceof MultipartRequest) { MultipartRequest seamMPRequest = (MultipartRequest) request; Enumeration<String> names = seamMPRequest.getParameterNames(); while (names.hasMoreElements()) { String name = names.nextElement(); try (InputStream in = seamMPRequest.getFileInputStream(name)) { if (in != null) { Blob blob = Blobs.createBlob(in); blob.setFilename(seamMPRequest.getFileName(name)); blobs.add(blob); } } } } else { // fallback method for non-seam servlet request FileUpload fu = new FileUpload(new DiskFileItemFactory()); String fileNameCharset = request.getHeader("FileNameCharset"); if (fileNameCharset != null) { fu.setHeaderEncoding(fileNameCharset); } ServletRequestContext requestContext = new ServletRequestContext(request); List<FileItem> fileItems = fu.parseRequest(requestContext); for (FileItem item : fileItems) { try (InputStream is = item.getInputStream()) { Blob blob = Blobs.createBlob(is); blob.setFilename(item.getName()); blobs.add(blob); } } } return blobs; }
From source file:org.nuxeo.ecm.webengine.forms.FormData.java
public FormData(HttpServletRequest request) { this.request = request; isMultipart = getIsMultipartContent(); if (isMultipart) { ctx = new ServletRequestContext(request); }//w w w. j av a2 s . co m }
From source file:org.nuxeo.ecm.webengine.forms.FormData.java
@SuppressWarnings("unchecked") public Map<String, List<FileItem>> getMultiPartItems() { if (items == null) { if (!isMultipart) { throw new IllegalStateException("Not in a multi part form request"); }//from w ww. j a va 2 s . c o m try { items = new HashMap<String, List<FileItem>>(); ServletRequestContext ctx = new ServletRequestContext(request); List<FileItem> fileItems = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(ctx); for (FileItem item : fileItems) { String key = item.getFieldName(); List<FileItem> list = items.get(key); if (list == null) { list = new ArrayList<FileItem>(); items.put(key, list); } list.add(item); } } catch (FileUploadException e) { throw WebException.wrap("Failed to get uploaded files", e); } } return items; }
From source file:org.nuxeo.ecm.webengine.util.FormData.java
@SuppressWarnings("unchecked") public Map<String, List<FileItem>> getMultiPartItems() throws WebException { if (items == null) { if (!isMultipart) { throw new IllegalStateException("Not in a multi part form request"); }//from ww w.ja v a2 s. c o m try { items = new HashMap<String, List<FileItem>>(); ServletRequestContext ctx = new ServletRequestContext(request); List<FileItem> fileItems = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(ctx); for (FileItem item : fileItems) { String key = item.getFieldName(); List<FileItem> list = items.get(key); if (list == null) { list = new ArrayList<FileItem>(); items.put(key, list); } list.add(item); } } catch (FileUploadException e) { throw new WebException("Failed to get uploaded files", e); } } return items; }
From source file:org.openbravo.base.VariablesBase.java
/** * Basic constructor that takes the request object and saves it to be used by the subsequent * methods/*from w w w. j a v a2 s.c om*/ * * @param request * HttpServletRequest object originating from the user request. */ @SuppressWarnings("unchecked") public VariablesBase(HttpServletRequest request) { if (request == null) { // logging exception to obtain stack trace to pinpoint the cause log4j.warn("Creating a VariablesBase with a null request", new Exception()); this.session = new HttpSessionWrapper(); this.isMultipart = false; } else { this.session = request.getSession(true); this.httpRequest = request; this.isMultipart = ServletFileUpload.isMultipartContent(new ServletRequestContext(request)); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); // factory.setSizeThreshold(yourMaxMemorySize); // factory.setRepositoryPath(yourTempDirectory); ServletFileUpload upload = new ServletFileUpload(factory); // upload.setSizeMax(yourMaxRequestSize); try { items = upload.parseRequest(request); } catch (Exception ex) { ex.printStackTrace(); } } } }
From source file:org.opencms.ugc.CmsUgcEditService.java
/** * @see javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) *//*from ww w .j av a2 s . co m*/ @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultiPart = FileUploadBase.isMultipartContent(new ServletRequestContext(request)); if (isMultiPart) { try { handleUpload(request, response); } finally { clearThreadStorage(); } } else { super.service(request, response); } }
From source file:org.openmrs.web.filter.startuperror.StartupErrorFilter.java
/** * @see org.openmrs.web.filter.StartupFilter#doPost(javax.servlet.http.HttpServletRequest, * javax.servlet.http.HttpServletResponse) *//* www . j a v a 2 s . co m*/ @Override protected void doPost(HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException { // if they are uploading modules if (getModel().errorAtStartup instanceof OpenmrsCoreModuleException) { RequestContext requestContext = new ServletRequestContext(httpRequest); if (!ServletFileUpload.isMultipartContent(requestContext)) { throw new ServletException("The request is not a valid multipart/form-data upload request"); } FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { Context.openSession(); List<FileItem> items = upload.parseRequest(requestContext); for (FileItem item : items) { InputStream uploadedStream = item.getInputStream(); ModuleUtil.insertModuleFile(uploadedStream, item.getName()); } } catch (FileUploadException ex) { throw new ServletException("Error while uploading file(s)", ex); } finally { Context.closeSession(); } Map<String, Object> map = new HashMap<String, Object>(); map.put("success", Boolean.TRUE); renderTemplate("coremoduleerror.vm", map, httpResponse); // TODO restart openmrs here instead of going to coremodulerror template } }
From source file:org.origin.common.servlet.WebConsoleUtil.java
/** * An utility method, that is used to filter out simple parameter from file parameter when multipart transfer encoding is used. * * This method processes the request and sets a request attribute {@link AbstractWebConsolePlugin#ATTR_FILEUPLOAD}. The attribute value is a {@link Map} * where the key is a String specifying the field name and the value is a {@link org.apache.commons.fileupload.FileItem}. * * @param request//from w w w.j ava 2s . c om * the HTTP request coming from the user * @param name * the name of the parameter * @return if not multipart transfer encoding is used - the value is the parameter value or <code>null</code> if not set. If multipart is used, and the * specified parameter is field - then the value of the parameter is returned. */ public static final String getParameter(HttpServletRequest request, String name) { // just get the parameter if not a multipart/form-data POST if (!FileUploadBase.isMultipartContent(new ServletRequestContext(request))) { return request.getParameter(name); } // check, whether we already have the parameters Map params = (Map) request.getAttribute(ATTR_FILEUPLOAD); if (params == null) { // parameters not read yet, read now // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(256000); // See https://issues.apache.org/jira/browse/FELIX-4660 final Object repo = request.getAttribute(ATTR_FILEUPLOAD_REPO); if (repo instanceof File) { factory.setRepository((File) repo); } // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(-1); // Parse the request params = new HashMap(); try { List items = upload.parseRequest(request); for (Iterator fiter = items.iterator(); fiter.hasNext();) { FileItem fi = (FileItem) fiter.next(); FileItem[] current = (FileItem[]) params.get(fi.getFieldName()); if (current == null) { current = new FileItem[] { fi }; } else { FileItem[] newCurrent = new FileItem[current.length + 1]; System.arraycopy(current, 0, newCurrent, 0, current.length); newCurrent[current.length] = fi; current = newCurrent; } params.put(fi.getFieldName(), current); } } catch (FileUploadException fue) { // TODO: log } request.setAttribute(ATTR_FILEUPLOAD, params); } FileItem[] param = (FileItem[]) params.get(name); if (param != null) { for (int i = 0; i < param.length; i++) { if (param[i].isFormField()) { return param[i].getString(); } } } // no valid string parameter, fail return null; }