List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload getItemIterator
public FileItemIterator getItemIterator(HttpServletRequest request) throws FileUploadException, IOException
From source file:com.smartgwt.extensions.fileuploader.server.TestServiceImpl.java
private void processFiles(HttpServletRequest request, HttpServletResponse response) { HashMap<String, String> args = new HashMap<String, String>(); try {/*from w ww. ja va 2 s . c om*/ ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(request); FileItemStream fileItem = null; // pick up parameters first and note actual FileItem while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); if (item.isFormField()) { args.put(name, Streams.asString(item.openStream())); } else { fileItem = item; } } if (fileItem != null) { args.put("contentType", fileItem.getContentType()); args.put("fileName", FileUtils.filename(fileItem.getName())); System.out.println("uploading args " + args); String context = args.get("context"); String model = args.get("model"); String xq = args.get("xq"); System.out.println(context + "," + model + "," + xq); File f = new File(args.get("fileName")); System.out.println(f.getAbsolutePath()); /* * TODO: pboysen get the state, context and fileManager and store the * stream in fileName. Parameters should be passed to locate state * and conversion options. */ response.setContentType("text/html"); response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<script>"); out.println("top.uploadComplete('" + args.get("fileName") + "');"); out.println("</script>"); out.println("</body>"); out.println("</html>"); out.flush(); } else { //TODO: add error code } } catch (Exception e) { System.out.println(e.getMessage()); } }
From source file:com.sifiso.dvs.util.DocFileUtil.java
public ResponseDTO downloadPDF(HttpServletRequest request, PlatformUtil platformUtil) throws FileUploadException { logger.log(Level.INFO, "######### starting PDF DOWNLOAD process\n\n"); ResponseDTO resp = new ResponseDTO(); InputStream stream = null;/*from ww w . j a v a 2s .c o m*/ File rootDir; try { rootDir = dvsProperties.getDocumentDir(); logger.log(Level.INFO, "rootDir - {0}", rootDir.getAbsolutePath()); if (!rootDir.exists()) { rootDir.mkdir(); } } catch (Exception ex) { logger.log(Level.SEVERE, "Properties file problem", ex); resp.setMessage("Server file unavailable. Please try later"); resp.setStatusCode(114); return resp; } PatientfileDTO dto = null; Gson gson = new Gson(); File clientDir = null, surgeryDir = null, doctorDir = null; try { ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); stream = item.openStream(); if (item.isFormField()) { if (name.equalsIgnoreCase("JSON")) { String json = Streams.asString(stream); if (json != null) { logger.log(Level.INFO, "picture with associated json: {0}", json); dto = gson.fromJson(json, PatientfileDTO.class); if (dto != null) { surgeryDir = createSurgeryFileDirectory(rootDir, surgeryDir, dto.getDoctor().getSurgeryID()); if (dto.getDoctorID() != null) { doctorDir = createDoctorDirectory(surgeryDir, doctorDir, dto.getDoctorID()); if (dto.getClientID() != null) { clientDir = createClientDirectory(doctorDir, clientDir); } } } } else { logger.log(Level.WARNING, "JSON input seems pretty fucked up! is NULL.."); } } } else { File imageFile = null; if (dto == null) { continue; } DateTime dt = new DateTime(); String fileName = ""; if (dto.getClientID() != null) { fileName = "client" + dto.getClientID() + ".pdf"; } imageFile = new File(clientDir, fileName); writeFile(stream, imageFile); resp.setStatusCode(0); resp.setMessage("Photo downloaded from mobile app "); //add database System.out.println("filepath: " + imageFile.getAbsolutePath()); } } } catch (FileUploadException | IOException | JsonSyntaxException ex) { logger.log(Level.SEVERE, "Servlet failed on IOException, images NOT uploaded", ex); throw new FileUploadException(); } return resp; }
From source file:de.mpg.imeji.presentation.upload.UploadServlet.java
/** * Download the file on the disk in a tmp file * * @param req//from w w w.jav a 2 s . c o m * @return * @throws FileUploadException * @throws IOException */ private UploadItem doUpload(HttpServletRequest req) { try { final ServletFileUpload upload = new ServletFileUpload(); final FileItemIterator iter = upload.getItemIterator(req); UploadItem uploadItem = new UploadItem(); while (iter.hasNext()) { final FileItemStream fis = iter.next(); if (!fis.isFormField()) { uploadItem.setFilename(fis.getName()); final File tmp = TempFileUtil.createTempFile("upload", null); StorageUtils.writeInOut(fis.openStream(), new FileOutputStream(tmp), true); uploadItem.setFile(tmp); } else { ByteArrayOutputStream out = new ByteArrayOutputStream(); StorageUtils.writeInOut(fis.openStream(), out, true); uploadItem.getParams().put(fis.getFieldName(), out.toString("UTF-8")); } } return uploadItem; } catch (final Exception e) { LOGGER.error("Error file upload", e); } return new UploadItem(); }
From source file:edu.ucla.loni.pipeline.server.Upload.Uploaders.FileUploadServlet.java
/** * Handles Request to Upload File, Builds a Response * // ww w.ja va 2 s .com * @param req * @param respBuilder */ private void handleFileUpload(HttpServletRequest req, ResponseBuilder respBuilder) { // process only multipart requests if (ServletFileUpload.isMultipartContent(req)) { // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(); try { // Parse the request FileItemIterator iter = upload.getItemIterator(req); while (iter.hasNext()) { FileItemStream item = iter.next(); handleUploadedFile(item, respBuilder); } } catch (FileUploadException e) { respBuilder.appendRespMessage("The file was not uploaded successfully."); } catch (IOException e) { respBuilder.appendRespMessage("The file was not uploaded successfully."); } } else { respBuilder.appendRespMessage("Your form of request is not supported by this upload servlet."); } }
From source file:com.smartgwt.extensions.fileuploader.server.ProjectServlet.java
private void processFiles(HttpServletRequest request, HttpServletResponse response) { HashMap<String, String> args = new HashMap<String, String>(); boolean isGWT = true; try {// w ww . j a va 2 s. co m if (log.isDebugEnabled()) log.debug(request.getParameterMap()); ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(request); // pick up parameters first and note actual FileItem while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); if (item.isFormField()) { args.put(name, Streams.asString(item.openStream())); } else { args.put("contentType", item.getContentType()); String fileName = item.getName(); int slash = fileName.lastIndexOf("/"); if (slash < 0) slash = fileName.lastIndexOf("\\"); if (slash > 0) fileName = fileName.substring(slash + 1); args.put("fileName", fileName); // upload requests can come from smartGWT (args) or // FCKEditor (request) String contextName = args.get("context"); String model = args.get("model"); String path = args.get("path"); if (contextName == null) { isGWT = false; contextName = request.getParameter("context"); model = request.getParameter("model"); path = request.getParameter("path"); if (log.isDebugEnabled()) log.debug("query=" + request.getQueryString()); } else if (log.isDebugEnabled()) log.debug(args); // the following code stores the file based on your parameters /* ProjectContext context = ContextService.get().getContext( contextName); ProjectState state = (ProjectState) request.getSession() .getAttribute(contextName); InputStream in = null; try { in = item.openStream(); state.getFileManager().storeFile( context.getModel(model), path + fileName, in); } catch (Exception e) { e.printStackTrace(); log.error("Fail to upload " + fileName + " to " + path); } finally { if (in != null) try { in.close(); } catch (Exception e) { } } */ } } // TODO: need to handle conversion options and error reporting response.setContentType("text/html"); response.setHeader("Pragma", "No-cache"); response.setDateHeader("Expires", 0); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); if (isGWT) { out.println("<script type=\"text/javascript\">"); out.println("if (parent.uploadComplete) parent.uploadComplete('" + args.get("fileName") + "');"); out.println("</script>"); } else out.println(getEditorResponse()); out.println("</body>"); out.println("</html>"); out.flush(); } catch (Exception e) { System.out.println(e.getMessage()); } }
From source file:in.co.sneh.controller.CargaExcelRural.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w ww. j a v a2s . 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"); PrintWriter out = response.getWriter(); try { CargaExcelReqRural lee = new CargaExcelReqRural(); String Unidad = ""; boolean isMultiPart = ServletFileUpload.isMultipartContent(request); if (isMultiPart) { ServletFileUpload upload = new ServletFileUpload(); try { HttpSession sesion = request.getSession(true); FileItemIterator itr = upload.getItemIterator(request); while (itr.hasNext()) { FileItemStream item = itr.next(); if (item.isFormField()) { String fielName = item.getFieldName(); InputStream is = item.openStream(); byte[] b = new byte[is.available()]; is.read(b); String value = new String(b); response.getWriter().println(fielName + ":" + value + "<br/>"); } else { String path = getServletContext().getRealPath("/"); if (CargaExcelRuralModel.processFile(path, item)) { //response.getWriter().println("file uploaded successfully"); if (lee.obtieneArchivo(path, item.getName())) { out.println("<script>alert('Se carg el Folio Correctamente')</script>"); out.println( "<script>window.location='facturacionRural/cargaRequerimento.jsp'</script>"); } //response.sendRedirect("cargaFotosCensos.jsp"); } else { //response.getWriter().println("file uploading falied"); //response.sendRedirect("cargaFotosCensos.jsp"); } } } } catch (FileUploadException fue) { fue.printStackTrace(); } out.println("<script>alert('No se pudo cargar el Folio, verifique las celdas')</script>"); out.println("<script>window.location='requerimiento.jsp'</script>"); //response.sendRedirect("carga.jsp"); } } finally { out.close(); } }
From source file:fedora.server.rest.RestUtil.java
/** * Retrieves the contents of the HTTP Request. * @return InputStream from the request//from w w w . j a v a 2s .com */ public RequestContent getRequestContent(HttpServletRequest request, HttpHeaders headers) throws Exception { RequestContent rContent = null; // See if the request is a multi-part file upload request if (ServletFileUpload.isMultipartContent(request)) { // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(); // Parse the request, use the first available File item FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); if (!item.isFormField()) { rContent = new RequestContent(); rContent.contentStream = item.openStream(); rContent.mimeType = item.getContentType(); FileItemHeaders itemHeaders = item.getHeaders(); if (itemHeaders != null) { String contentLength = itemHeaders.getHeader("Content-Length"); if (contentLength != null) { rContent.size = Integer.parseInt(contentLength); } } break; } } } else { // If the content stream was not been found as a multipart, // try to use the stream from the request directly if (rContent == null) { if (request.getContentLength() > 0) { rContent = new RequestContent(); rContent.contentStream = request.getInputStream(); rContent.size = request.getContentLength(); } else { String transferEncoding = request.getHeader("Transfer-Encoding"); if (transferEncoding != null && transferEncoding.contains("chunked")) { BufferedInputStream bis = new BufferedInputStream(request.getInputStream()); bis.mark(2); if (bis.read() > 0) { bis.reset(); rContent = new RequestContent(); rContent.contentStream = bis; } } } } } // Attempt to set the mime type and size if not already set if (rContent != null) { if (rContent.mimeType == null) { MediaType mediaType = headers.getMediaType(); if (mediaType != null) { rContent.mimeType = mediaType.toString(); } } if (rContent.size == 0) { List<String> lengthHeaders = headers.getRequestHeader("Content-Length"); if (lengthHeaders != null && lengthHeaders.size() > 0) { rContent.size = Integer.parseInt(lengthHeaders.get(0)); } } } return rContent; }
From source file:com.boundlessgeo.geoserver.api.controllers.ApiController.java
protected FileItemIterator doFileUpload(final HttpServletRequest request) throws FileUploadException, IOException { final ServletFileUpload upload = newFileUpload(); //Delegate FileItemIterator to only return files return new FileItemIterator() { FileItemIterator delegate = upload.getItemIterator(request); FileItemStream next = null;/*from w w w . ja va2s .co m*/ @Override public boolean hasNext() throws FileUploadException, IOException { if (next != null) { return true; } while (delegate.hasNext()) { FileItemStream item = delegate.next(); if (!item.isFormField()) { next = item; break; } } return next != null; } @Override public FileItemStream next() throws FileUploadException, IOException { if (hasNext()) { FileItemStream current = next; next = null; return current; } throw new NoSuchElementException(); } }; }
From source file:com.jythonui.server.upload.UpLoadFile.java
@Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletFileUpload upload = new ServletFileUpload(); IAddNewBlob addB = SHolder.getAddBlob(); PrintWriter out = response.getWriter(); boolean first = true; try {//w w w. j ava 2 s .co m FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); // only uploaded files if (item.isFormField()) continue; String fName = item.getName(); // nothing uploaded if (CUtil.EmptyS(fName)) continue; InputStream stream = item.openStream(); // may be set initial size not default ByteArrayOutputStream bout = new ByteArrayOutputStream(); byte[] buffer = new byte[8192]; int len; while ((len = stream.read(buffer, 0, buffer.length)) != -1) { bout.write(buffer, 0, len); } bout.close(); // store blob content String bkey = addB.addNewBlob(ICommonConsts.BLOBUPLOAD_REALM, ICommonConsts.BLOBUPLOAD_KEY, bout.toByteArray()); if (!first) out.print(','); first = false; out.print(ICommonConsts.BLOBUPLOAD_REALM); out.print(':'); out.print(bkey); out.print(':'); out.print(fName); } // while } catch (Exception e) { out.print(ICommonConsts.UPLOADFILEERROR); IGetLogMess iLog = SHolder.getM(); String mess = iLog.getMess(IErrorCode.ERRORCODE77, ILogMess.ERRORWHILEUPLOADING); log.log(Level.SEVERE, mess, e); } out.close(); }
From source file:com.google.reducisaurus.servlets.BaseServlet.java
private String collectFromFileUpload(final HttpServletRequest req) throws IOException, ServletException { StringBuilder collector = new StringBuilder(); try {//from w w w.j ava2 s. c om ServletFileUpload sfu = new ServletFileUpload(); FileItemIterator it = sfu.getItemIterator(req); while (it.hasNext()) { FileItemStream item = it.next(); if (!item.isFormField()) { InputStream stream = item.openStream(); collector.append(IOUtils.toString(stream, "UTF-8")); collector.append("\n"); IOUtils.closeQuietly(stream); } } } catch (FileUploadException e) { throw new ServletException(e); } return collector.toString(); }