List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload isMultipartContent
public static final boolean isMultipartContent(HttpServletRequest request)
From source file:com.afspq.web.ProcessQuery.java
@SuppressWarnings({ "unused", "rawtypes" }) protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try {//from w ww . j a va 2 s . c o m String root = getServletContext().getRealPath("/"); File path = new File(root + "/uploads"); List items = upload.parseRequest(request); if (!path.exists()) { boolean status = path.mkdirs(); } if (items.size() > 0) { DiskFileItem file = (DiskFileItem) items.get(0); File uploadedFile = new File(path + "/" + file.getName()); file.write(uploadedFile); request.setAttribute("results", new ImageResults().getResults(uploadedFile, imageSearch, 0, true)); request.getRequestDispatcher("imageResults.jsp").forward(request, response); } } catch (Exception e) { e.printStackTrace(); } } }
From source file:com.takin.mvc.mvc.client.UploadRequest.java
public static boolean isMultipart(HttpServletRequest request) { return (request != null && ServletFileUpload.isMultipartContent(request)); }
From source file:fi.vm.sade.organisaatio.resource.TempFileResource.java
@POST @Path("/") @Produces(MediaType.TEXT_PLAIN)//from ww w.j av a 2s .c om @Consumes(MediaType.MULTIPART_FORM_DATA) @Secured({ "ROLE_APP_ORGANISAATIOHALLINTA" }) public String addImage(@Context HttpServletRequest request, @Context HttpServletResponse response) { LOG.info("Adding attachment " + request.getMethod()); Map<String, String> result = null; try { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); for (FileItem item : upload.parseRequest(request)) { if (item.getName() != null) { result = storeAttachment(item); } } } else { response.setStatus(400); response.getWriter().append("Not a multipart request"); } LOG.info("Added attachment: " + result); JSONObject json = new JSONObject(result); return json.toString(); } catch (Exception e) { return "organisaatio.fileupload.error"; } }
From source file:com.bbc.remarc.ws.UploadServiceImpl.java
@POST @Produces("application/json") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response upload(@Context HttpServletRequest request) { log.debug("performing upload"); final String resourcesPath = (String) servletContext.getAttribute("resourcePathUri"); if (resourcesPath == null) { throw new IllegalStateException("Application hasnt got a resources path configured"); }/*w w w.ja v a 2 s . c o m*/ final String uploadFolder = resourcesPath + Configuration.UPLOAD_DIR; final String contentFolder = resourcesPath + Configuration.CONTENT_DIR; if (ServletFileUpload.isMultipartContent(request)) { // Configure a repository (to ensure a secure temp location is used) File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir"); // Create a factory for storing disk-based file items (our archive could be too large for memory) DiskFileItemFactory factory = newDiskFileItemFactory(servletContext, repository); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); try { // Parse the request List<FileItem> items = upload.parseRequest(request); if (items.size() == 1) { FileItem archive = items.get(0); // write the archive to the upload folder File uploadedFile = new File(uploadFolder + archive.getName()); archive.write(uploadedFile); log.debug("upload complete"); unzipArchive(uploadedFile, uploadFolder); log.debug("unzip complete"); uploadedFile.delete(); log.debug("removed uploaded archive"); } else { throw new IllegalStateException( "Received more file items than expected. Expected 1, got " + items.size()); } } catch (Exception e) { throw new RuntimeException("Error writing the archive to disk", e); } log.debug("processing contents of upload"); ResourceManager.processUploadDir(uploadFolder, contentFolder); } URI uri = null; try { uri = new URI("../index.html"); } catch (URISyntaxException e) { log.error("Error creating admin.html URI: " + e); } Response resp; if (uri != null) { resp = Response.seeOther(uri).build(); } else { resp = Response.ok().build(); } return resp; }
From source file:com.mkmeier.quickerbooks.ProcessSquare.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * * @param request servlet request// w ww. j a va2s . co m * @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 { if (!ServletFileUpload.isMultipartContent(request)) { showForm(request, response); } else { ServletFileUploader up = new ServletFileUploader(); up.parseRequest(request); File file = up.getFileMap().get("squareTxn"); int incomeAcctNum = Integer.parseInt(up.getFieldMap().get("incomeAcct")); int feeAcctNum = Integer.parseInt(up.getFieldMap().get("feeAcct")); int depositAcctNum = Integer.parseInt(up.getFieldMap().get("depositAcct")); QbAccount incomeAcct = getAccount(incomeAcctNum); QbAccount feeAcct = getAccount(feeAcctNum); QbAccount depositAcct = getAccount(depositAcctNum); SquareParser sp = new SquareParser(file); List<SquareTxn> txns; try { txns = sp.parse(); } catch (SquareException ex) { throw new ServletException(ex); } SquareToIif squareToIif = new SquareToIif(txns, incomeAcct, feeAcct, depositAcct); File iifFile = squareToIif.getIifFile(); response.setHeader("Content-Disposition", "attachement; filename=\"iifFile.iif\""); ServletOutputStream out = response.getOutputStream(); FileInputStream in = new FileInputStream(iifFile); byte[] buffer = new byte[4096]; int length; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } in.close(); out.flush(); // PrintWriter out = response.getWriter(); // for (SquareTxn txn : txns) { // out.println(txn.toString()); // } } }
From source file:com.sketchy.server.UpgradeUploadServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { JSONServletResult jsonServletResult = new JSONServletResult(Status.SUCCESS); try {// w w w . ja v a 2s . c om boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(FileUtils.getTempDirectory()); factory.setSizeThreshold(MAX_SIZE); ServletFileUpload servletFileUpload = new ServletFileUpload(factory); List<FileItem> files = servletFileUpload.parseRequest(request); String version = ""; for (FileItem fileItem : files) { String uploadFileName = fileItem.getName(); if (StringUtils.isNotBlank(uploadFileName)) { JarInputStream jarInputStream = null; try { // check to make sure it's a Sketchy File with a Manifest File jarInputStream = new JarInputStream(fileItem.getInputStream(), true); Manifest manifest = jarInputStream.getManifest(); if (manifest == null) { throw new Exception("Invalid Upgrade File!"); } Attributes titleAttributes = manifest.getMainAttributes(); if ((titleAttributes == null) || (!StringUtils.containsIgnoreCase( titleAttributes.getValue("Implementation-Title"), "Sketchy"))) { throw new Exception("Invalid Upgrade File!"); } version = titleAttributes.getValue("Implementation-Version"); } catch (Exception e) { throw new Exception("Invalid Upgrade File!"); } finally { IOUtils.closeQuietly(jarInputStream); } // save new .jar file as "ready" fileItem.write(new File("Sketchy.jar.ready")); jsonServletResult.put("version", version); } } } } catch (Exception e) { jsonServletResult = new JSONServletResult(Status.ERROR, e.getMessage()); } response.setContentType("text/html"); response.setStatus(HttpServletResponse.SC_OK); response.getWriter().print(jsonServletResult.toJSONString()); }
From source file:com.carolinarollergirls.scoreboard.jetty.MediaServlet.java
protected void upload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try {//w ww . jav a 2s. com if (!ServletFileUpload.isMultipartContent(request)) { response.sendError(response.SC_BAD_REQUEST); return; } String media = null, type = null; FileItemFactory fiF = new DiskFileItemFactory(); ServletFileUpload sfU = new ServletFileUpload(fiF); List<FileItem> fileItems = new LinkedList<FileItem>(); Iterator i = sfU.parseRequest(request).iterator(); while (i.hasNext()) { FileItem item = (FileItem) i.next(); if (item.isFormField()) { if (item.getFieldName().equals("media")) media = item.getString(); else if (item.getFieldName().equals("type")) type = item.getString(); } else if (item.getName().matches(zipExtRegex)) { processZipFileItem(fiF, item, fileItems); } else if (uploadFileNameFilter.accept(null, item.getName())) { fileItems.add(item); } } if (fileItems.size() == 0) { setTextResponse(response, response.SC_BAD_REQUEST, "No files provided to upload"); return; } processFileItemList(fileItems, media, type); int len = fileItems.size(); setTextResponse(response, response.SC_OK, "Successfully uploaded " + len + " file" + (len > 1 ? "s" : "")); } catch (FileNotFoundException fnfE) { setTextResponse(response, response.SC_NOT_FOUND, fnfE.getMessage()); } catch (IllegalArgumentException iaE) { setTextResponse(response, response.SC_BAD_REQUEST, iaE.getMessage()); } catch (FileUploadException fuE) { setTextResponse(response, response.SC_INTERNAL_SERVER_ERROR, fuE.getMessage()); } }
From source file:com.jk.web.filters.JKDefaultFilter.java
@Override public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain chain) throws IOException, ServletException { try {//from w ww.j ava 2 s . c o m final HttpServletRequest request = (HttpServletRequest) req; final HttpServletResponse response = (HttpServletResponse) res; this.logger.info("@doFilter : ".concat(request.getRequestURI())); JKWebContextUtil.sync(request); final boolean multipart = ServletFileUpload.isMultipartContent(request); if (!multipart) { final boolean toPdf = request.getParameter(JKWebConstants.PARAMTER_CONVERT_TO_PDF) != null; if (toPdf) { this.logger.info("toPDF request"); final HttpServletRequestWrapper rq = new HttpServletRequestWrapper(request); final CharResponseWrapper rs = new CharResponseWrapper(response); chain.doFilter(rq, rs); JKWebUtil.toPDF(request, response, rs.toString()); } else { chain.doFilter(request, response); } } else { chain.doFilter(request, response); } } catch (final Exception e) { if (e instanceof ServletException) { throw (ServletException) e; } throw new ServletException(e); } finally { JKThreadLocal.remove(); this.logger.info("@End of doFilter"); } }
From source file:com.sketchy.server.ImageUploadServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { JSONServletResult jsonServletResult = new JSONServletResult(Status.SUCCESS); try {//from ww w . jav a2 s. c o m boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(FileUtils.getTempDirectory()); factory.setSizeThreshold(MAX_SIZE); ServletFileUpload servletFileUpload = new ServletFileUpload(factory); List<FileItem> files = servletFileUpload.parseRequest(request); for (FileItem fileItem : files) { String uploadFileName = fileItem.getName(); if (StringUtils.isNotBlank(uploadFileName)) { // Don't allow \\ in the filename, assume it's a directory separator and convert to "/" // and take the filename after the last "/" // This will fix the issue of Jetty not reading and serving files // with "\" (%5C) characters // This also fixes the issue of IE sometimes sending the whole path // (depending on the security settings) uploadFileName = StringUtils.replaceChars(uploadFileName, "\\", "/"); if (StringUtils.contains(uploadFileName, "/")) { uploadFileName = StringUtils.substringAfterLast(uploadFileName, "/"); } File uploadFile = HttpServer.getUploadFile(uploadFileName); // make sure filename is actually in the upload directory // we don't want any funny games if (!uploadFile.getParentFile().equals(HttpServer.IMAGE_UPLOAD_DIRECTORY)) { throw new RuntimeException("Can not upload File. Invalid directory!"); } // if saved ok, then need to add the data file SourceImageAttributes sourceImageAttributes = new SourceImageAttributes(); sourceImageAttributes.setImageName(uploadFileName); File pngFile = HttpServer.getUploadFile(sourceImageAttributes.getImageFilename()); if (pngFile.exists()) { throw new Exception( "Can not Upload file. File '" + uploadFileName + "' already exists!"); } File dataFile = HttpServer.getUploadFile(sourceImageAttributes.getDataFilename()); // Convert the image to a .PNG file BufferedImage image = ImageUtils.loadImage(fileItem.getInputStream()); ImageUtils.saveImage(pngFile, image); sourceImageAttributes.setWidth(image.getWidth()); sourceImageAttributes.setHeight(image.getHeight()); FileUtils.writeStringToFile(dataFile, sourceImageAttributes.toJson()); jsonServletResult.put("imageName", uploadFileName); } } } } catch (Exception e) { jsonServletResult = new JSONServletResult(Status.ERROR, e.getMessage()); } response.setContentType("text/html"); response.setStatus(HttpServletResponse.SC_OK); response.getWriter().print(jsonServletResult.toJSONString()); }
From source file:com.mkmeier.quickerbooks.ProcessUwcu.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * * @param request servlet request/* ww w . ja v a 2s. c o m*/ * @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"); if (!ServletFileUpload.isMultipartContent(request)) { showForm(request, response); } else { ServletFileUploader up = new ServletFileUploader(); up.parseRequest(request); File file = up.getFileMap().get("uwcuTxn"); int depositAcctNum = Integer.parseInt(up.getFieldMap().get("depositAcct")); int creditCardAcctNum = Integer.parseInt(up.getFieldMap().get("ccAcct")); QbAccount depositAcct = getAccount(depositAcctNum); QbAccount creditCardAcct = getAccount(creditCardAcctNum); UwcuParser uwcuParser = new UwcuParser(file); List<UwcuTxn> txns; try { txns = uwcuParser.parse(); } catch (UwcuException ex) { throw new ServletException(ex); } UwcuToIif uwcuToIif = new UwcuToIif(txns, depositAcct, creditCardAcct); File iifFile = uwcuToIif.getIifFile(); response.setHeader("Content-Disposition", "attachement; filename=\"iifFile.iif\""); ServletOutputStream out = response.getOutputStream(); FileInputStream in = new FileInputStream(iifFile); byte[] buffer = new byte[4096]; int length; while ((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } in.close(); out.flush(); } }