List of usage examples for org.apache.commons.fileupload FileItemIterator next
FileItemStream next() throws FileUploadException, IOException;
From source file:is.hax.spring.web.multipart.StreamingMultipartResolver.java
public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException { // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(); upload.setFileSizeMax(maxUploadSize); String encoding = determineEncoding(request); Map<String, MultipartFile> multipartFiles = new HashMap<String, MultipartFile>(); Map<String, String[]> multipartParameters = new HashMap<String, String[]>(); // Parse the request try {//w w w. j a v a 2 s . c om FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); if (item.isFormField()) { String value = Streams.asString(stream, encoding); String[] curParam = multipartParameters.get(name); if (curParam == null) { // simple form field multipartParameters.put(name, new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(name, newParam); } } else { // Process the input stream MultipartFile file = new StreamingMultipartFile(item); if (multipartFiles.put(name, file) != null) { throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver"); } } } } catch (IOException e) { throw new MultipartException("something went wrong here", e); } catch (FileUploadException e) { throw new MultipartException("something went wrong here", e); } return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParameters); }
From source file:edu.morgan.server.UploadFile.java
@Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { // Check that we have a file upload request RequestDispatcher rd;/* w ww .j av a 2 s . c o m*/ response.setContentType("text/html"); isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { rd = request.getRequestDispatcher("fail.jsp"); rd.forward(request, response); } try { ServletFileUpload upload = new ServletFileUpload(); response.setContentType("text/plain"); FileItemIterator iterator = upload.getItemIterator(request); while (iterator.hasNext()) { FileItemStream item = iterator.next(); InputStream stream = item.openStream(); this.read(stream); } request.removeAttribute("incompleteStudents"); request.setAttribute("incompleteStudents", studentList); rd = request.getRequestDispatcher("Success"); rd.forward(request, response); } catch (Exception ex) { throw new ServletException(ex); } }
From source file:edu.morgan.server.UploadFileServlet.java
@Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { // Check that we have a file upload request RequestDispatcher rd;/*from ww w . j ava 2 s . co m*/ response.setContentType("text/html"); isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { rd = request.getRequestDispatcher("fail.jsp"); rd.forward(request, response); } try { ServletFileUpload upload = new ServletFileUpload(); response.setContentType("text/plain"); FileItemIterator iterator = upload.getItemIterator(request); while (iterator.hasNext()) { FileItemStream item = iterator.next(); InputStream stream = item.openStream(); this.read(stream); } rd = request.getRequestDispatcher("success.jsp"); rd.forward(request, response); } catch (Exception ex) { throw new ServletException(ex); } }
From source file:com.anritsu.mcreleaseportal.utils.FileUpload.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w w w. j a va 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 { HttpSession session = request.getSession(); session.setAttribute("mcPackage", null); PrintWriter pw = response.getWriter(); response.setContentType("text/plain"); ServletFileUpload upload = new ServletFileUpload(); try { FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); InputStream stream = item.openStream(); // Save input stream file for later use File dir = new File(Configuration.getInstance().getSavePath()); if (!dir.exists() && !dir.isDirectory()) { dir.mkdir(); LOGGER.log(Level.INFO, "Changes.xml archive directory was created at " + dir.getAbsolutePath()); } String fileName = request.getSession().getId() + "_" + System.currentTimeMillis(); File file = new File(dir, fileName); file.createNewFile(); Path path = file.toPath(); Files.copy(stream, path, StandardCopyOption.REPLACE_EXISTING); LOGGER.log(Level.INFO, "changes.xml saved on disk as: " + file.getAbsolutePath()); // Save filename to session for next calls session.setAttribute("xmlFileLocation", file.getAbsolutePath()); LOGGER.log(Level.INFO, "changes.xml saved on session as: fileName:" + file.getAbsolutePath()); // Cleanup stream.close(); } } catch (FileUploadException | IOException | RuntimeException e) { pw.println( "An error occurred when trying to process uploaded file! \n Please check the file consistency and try to re-submit. \n If the error persist pleace contact system administrator!"); } }
From source file:com.cubusmail.gwtui.server.services.AttachmentUploadServlet.java
@Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); // Create a new file upload handler if (isMultipart) { ServletFileUpload upload = new ServletFileUpload(); try {/*from ww w .ja v a 2s. c om*/ // Parse the request FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); if (item.isFormField()) { System.out.println( "Form field " + name + " with value " + Streams.asString(stream) + " detected."); } else { System.out .println("File field " + name + " with file name " + item.getName() + " detected."); DataSource source = createDataSource(item); SessionManager.get().getCurrentComposeMessage().addComposeAttachment(source); } JSONObject jsonResponse = null; try { jsonResponse = new JSONObject(); jsonResponse.put("success", true); jsonResponse.put("error", "Upload successful"); } catch (Exception e) { } Writer w = new OutputStreamWriter(response.getOutputStream()); w.write(jsonResponse.toString()); w.close(); stream.close(); } } catch (Exception ex) { ex.printStackTrace(); } } response.setStatus(HttpServletResponse.SC_OK); }
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 va 2 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 { 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:foo.domaintest.email.EmailApiModule.java
/** * Provides parsed email headers from the "headers" param in a multipart/form-data request. * <p>/*from ww w .j a v a 2s.co m*/ * Although SendGrid parses some headers for us, it doesn't parse "reply-to", so we need to do * this. Once we are doing it, it's easier to be consistent and use this as the sole source of * truth for information that originates in the headers. */ @Provides @Singleton InternetHeaders provideHeaders(FileItemIterator iterator) { try { while (iterator != null && iterator.hasNext()) { FileItemStream item = iterator.next(); // SendGrid sends us the headers in the "headers" param. if (item.getFieldName().equals("headers")) { try (InputStream stream = item.openStream()) { // SendGrid always sends headers in UTF-8 encoding. return new InternetHeaders(new ByteArrayInputStream( CharStreams.toString(new InputStreamReader(stream, UTF_8.name())).getBytes(UTF_8))); } } } } catch (MessagingException | FileUploadException | IOException e) { // If we fail parsing the headers fall through returning the empty header object below. } return new InternetHeaders(); // Parsing failed or there was no "headers" param. }
From source file:com.google.appinventor.server.GalleryServlet.java
private InputStream getRequestStream(HttpServletRequest req, String expectedFieldName) throws Exception { ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iterator = upload.getItemIterator(req); while (iterator.hasNext()) { FileItemStream item = iterator.next(); // LOG.info(item.getContentType()); if (item.getFieldName().equals(expectedFieldName)) { return item.openStream(); }//from w w w .ja v a 2 s. c o m } throw new IllegalArgumentException("Field " + expectedFieldName + " not found in upload"); }
From source file:edu.caltech.ipac.firefly.server.servlets.AnyFileUpload.java
protected void processRequest(HttpServletRequest req, HttpServletResponse res) throws Exception { String dest = req.getParameter(DEST_PARAM); String preload = req.getParameter(PRELOAD_PARAM); String overrideCacheKey = req.getParameter(CACHE_KEY); String fileType = req.getParameter(FILE_TYPE); if (!ServletFileUpload.isMultipartContent(req)) { sendReturnMsg(res, 400, "Is not a Multipart request. Request rejected.", ""); }//from w w w .jav a 2s . co m StopWatch.getInstance().start("Upload File"); ServletFileUpload upload = new ServletFileUpload(); FileItemIterator iter = upload.getItemIterator(req); while (iter.hasNext()) { FileItemStream item = iter.next(); if (!item.isFormField()) { String fileName = item.getName(); InputStream inStream = new BufferedInputStream(item.openStream(), IpacTableUtil.FILE_IO_BUFFER_SIZE); String ext = resolveExt(fileName); FileType fType = resolveType(fileType, ext, item.getContentType()); File destDir = resolveDestDir(dest, fType); boolean doPreload = resolvePreload(preload, fType); File uf = File.createTempFile("upload_", ext, destDir); String rPathInfo = ServerContext.replaceWithPrefix(uf); UploadFileInfo fi = new UploadFileInfo(rPathInfo, uf, fileName, item.getContentType()); String fileCacheKey = overrideCacheKey != null ? overrideCacheKey : rPathInfo; UserCache.getInstance().put(new StringKey(fileCacheKey), fi); if (doPreload && fType == FileType.FITS) { BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(uf), IpacTableUtil.FILE_IO_BUFFER_SIZE); TeeInputStream tee = new TeeInputStream(inStream, bos); try { final Fits fits = new Fits(tee); FitsRead[] frAry = FitsRead.createFitsReadArray(fits); FitsCacher.addFitsReadToCache(uf, frAry); } finally { FileUtil.silentClose(bos); FileUtil.silentClose(tee); } } else { FileUtil.writeToFile(inStream, uf); } sendReturnMsg(res, 200, null, fileCacheKey); Counters.getInstance().increment(Counters.Category.Upload, fi.getContentType()); return; } } StopWatch.getInstance().printLog("Upload File"); }
From source file:guru.nidi.ramltester.util.FormDecoder.java
private Values decodeMultipart(RamlRequest request) { try {// w ww. java2s . c o m final Values values = new Values(); final RamlRequestFileUploadContext context = new RamlRequestFileUploadContext(request); final FileItemIterator iter = new ServletFileUpload().getItemIterator(context); while (iter.hasNext()) { final FileItemStream itemStream = iter.next(); values.addValue(itemStream.getFieldName(), valueOf(itemStream)); } return values; } catch (IOException | FileUploadException e) { throw new IllegalArgumentException("Could not parse multipart request", e); } }