List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory DiskFileItemFactory
public DiskFileItemFactory()
From source file:guru.bubl.service.resources.vertex.VertexImageResource.java
@POST @Consumes(MediaType.MULTIPART_FORM_DATA) @GraphTransactional/*from w w w. j a v a2 s .c o m*/ @Produces(MediaType.APPLICATION_JSON) @Path("/") public Response add(@Context HttpServletRequest request) { Set<Image> uploadedImages = new HashSet<>(); if (ServletFileUpload.isMultipartContent(request)) { final FileItemFactory factory = new DiskFileItemFactory(); final ServletFileUpload fileUpload = new ServletFileUpload(factory); try { /* * parseRequest returns a list of FileItem * but in old (pre-java5) style */ final List items = fileUpload.parseRequest(request); if (items != null) { final Iterator iter = items.iterator(); while (iter.hasNext()) { final FileItem item = (FileItem) iter.next(); String imageId = UUID.randomUUID().toString(); final File savedFile = new File(IMAGES_FOLDER_PATH + File.separator + imageId); System.out.println("Saving the file: " + savedFile.getName()); item.write(savedFile); saveBigImage(savedFile); String imageBaseUrl = request.getRequestURI() + "/" + imageId + "/"; String base64ForSmallImage = Base64.encodeBase64String(resizedSmallImage(savedFile)); uploadedImages.add(Image.withBase64ForSmallAndUriForBigger(base64ForSmallImage, URI.create(imageBaseUrl + "big"))); } } vertex.addImages(uploadedImages); return Response.ok().entity(ImageJson.toJsonArray(uploadedImages)).build(); } catch (Exception exception) { exception.printStackTrace(); throw new WebApplicationException(Response.Status.BAD_REQUEST); } } throw new WebApplicationException(Response.Status.INTERNAL_SERVER_ERROR); }
From source file:com.openhr.UploadFile.java
@Override public ActionForward execute(ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { // checks if the request actually contains upload file if (!ServletFileUpload.isMultipartContent(request)) { PrintWriter writer = response.getWriter(); writer.println("Request does not contain upload data"); writer.flush();/*from w w w .j a va 2 s . co m*/ return map.findForward("masteradmin"); } // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(THRESHOLD_SIZE); factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(MAX_REQUEST_SIZE); // constructs the directory path to store upload file String uploadPath = UPLOAD_DIRECTORY; // creates the directory if it does not exist File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } try { // parses the request's content to extract file data List formItems = upload.parseRequest(request); Iterator iter = formItems.iterator(); // iterates over form's fields while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); // processes only fields that are not form fields if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); // saves the file on disk item.write(storeFile); // Read the file object contents and parse it and store it in the repos FileInputStream fstream = new FileInputStream(storeFile); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; Company comp = null; Branch branch = null; Calendar currDtCal = Calendar.getInstance(); // Zero out the hour, minute, second, and millisecond currDtCal.set(Calendar.HOUR_OF_DAY, 0); currDtCal.set(Calendar.MINUTE, 0); currDtCal.set(Calendar.SECOND, 0); currDtCal.set(Calendar.MILLISECOND, 0); Date now = currDtCal.getTime(); //Read File Line By Line while ((strLine = br.readLine()) != null) { System.out.print("Processing line - " + strLine); String[] lineColumns = strLine.split(COMMA); if (lineColumns.length < 16) { br.close(); in.close(); fstream.close(); throw new Exception("The required columns are missing in the line - " + strLine); } // Format is - // CompID,BranchName,EmpID,EmpFullName,EmpNationalID,BankName,BankBranch,RoutingNo,AccountNo,NetPay,Currency, // residenttype,TaxAmount,EmployerSS,EmployeeSS if (comp == null || comp.getId() != Integer.parseInt(lineColumns[0])) { List<Company> comps = CompanyFactory.findById(Integer.parseInt(lineColumns[0])); if (comps != null && comps.size() > 0) { comp = comps.get(0); } else { br.close(); in.close(); fstream.close(); throw new Exception("Unable to get the details of the company"); } // Check for licenses List<Licenses> compLicenses = LicenseFactory.findByCompanyId(comp.getId()); for (Licenses lis : compLicenses) { if (lis.getActive() == 1) { Date endDate = lis.getTodate(); if (!isLicenseActive(now, endDate)) { br.close(); in.close(); fstream.close(); // License has expired and throw an error throw new Exception("License has expired"); //TODO remove the below code and enable above /*List<Branch> branches = BranchFactory.findByCompanyId(comp.getId()); String branchName = lineColumns[1]; if(branches != null && !branches.isEmpty()) { for(Branch bb: branches) { if(branchName.equalsIgnoreCase(bb.getName())) { branch = bb; break; } } if(branch == null) { Branch bb = new Branch(); bb.setName(branchName); bb.setAddress("NA"); bb.setCompanyId(comp); BranchFactory.insert(bb); List<Branch> lbranches = BranchFactory.findByName(branchName); branch = lbranches.get(0); } }*/ //TODO } else { // License enddate is valid, so lets check the key. String compName = comp.getName(); String licenseKeyStr = LicenseValidator.formStringToEncrypt(compName, endDate); if (LicenseValidator.encryptAndCompare(licenseKeyStr, lis.getLicensekey())) { // License key is valid, so proceed. List<Branch> branches = BranchFactory.findByCompanyId(comp.getId()); String branchName = lineColumns[1]; if (branches != null && !branches.isEmpty()) { for (Branch bb : branches) { if (branchName.equalsIgnoreCase(bb.getName())) { branch = bb; break; } } if (branch == null) { Branch bb = new Branch(); bb.setName(branchName); bb.setAddress("NA"); bb.setCompanyId(comp); BranchFactory.insert(bb); List<Branch> lbranches = BranchFactory.findByName(branchName); branch = lbranches.get(0); } } break; } else { br.close(); in.close(); fstream.close(); throw new Exception("License is tampered. Contact Support."); } } } } } // CompID,BranchName,EmpID,EmpFullName,EmpNationalID,DeptName,BankName,BankBranch,RoutingNo,AccountNo,NetPay,currency,TaxAmt,emprSS,empess,basesalary CompanyPayroll compPayroll = new CompanyPayroll(); compPayroll.setBranchId(branch); compPayroll.setEmployeeId(lineColumns[2]); compPayroll.setEmpFullName(lineColumns[3]); compPayroll.setEmpNationalID(lineColumns[4]); compPayroll.setDeptName(lineColumns[5]); compPayroll.setBankName(lineColumns[6]); compPayroll.setBankBranch(lineColumns[7]); compPayroll.setRoutingNo(lineColumns[8]); compPayroll.setAccountNo(lineColumns[9]); compPayroll.setNetPay(Double.parseDouble(lineColumns[10])); compPayroll.setCurrencySym(lineColumns[11]); compPayroll.setResidentType(lineColumns[12]); compPayroll.setTaxAmount(Double.parseDouble(lineColumns[13])); compPayroll.setEmprSocialSec(Double.parseDouble(lineColumns[14])); compPayroll.setEmpeSocialSec(Double.parseDouble(lineColumns[15])); compPayroll.setBaseSalary(Double.parseDouble(lineColumns[16])); compPayroll.setProcessedDate(now); CompanyPayrollFactory.insert(compPayroll); } //Close the input stream br.close(); in.close(); fstream.close(); } } System.out.println("Upload has been done successfully!"); } catch (Exception ex) { System.out.println("There was an error: " + ex.getMessage()); ex.printStackTrace(); } return map.findForward("MasterHome"); }
From source file:cc.aileron.wsgi.request.WsgiRequestParameterFactoryImpl.java
@Override public WorkflowRequestParameter create(final HttpServletRequest request) throws FileUploadException { try {/*from w w w . ja v a 2s. c om*/ request.setCharacterEncoding(characterEncodingName); } catch (final UnsupportedEncodingException e) { } if (ServletFileUpload.isMultipartContent(request)) { final DiskFileItemFactory factory = new DiskFileItemFactory(); final ServletFileUpload upload = new ServletFileUpload(factory); factory.setSizeThreshold(1024); upload.setSizeMax(-1); upload.setHeaderEncoding(characterEncodingName); return new RequestMultipart(characterEncoding, upload, request); } return new RequestUrlencoded(request); }
From source file:com.esteban.cmms.maven.controller.Imagenes_Controller.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.// w w w . java 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 { String btne = request.getParameter("btn"); if (btne == null) { try { HttpSession sesion = request.getSession(); sesion.removeAttribute("imagenes"); Usuarios user = (Usuarios) sesion.getAttribute("usuario"); FileItemFactory itemFactory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(itemFactory); String btn = null; Maquinas m = new Maquinas(); List<FileItem> items = upload.parseRequest(request); Imagenes pojo = new Imagenes(); pojo.setUserAction(user.getNombre()); for (FileItem item : items) { if (!item.isFormField()) { String contentType = item.getContentType(); if (!contentType.equals("image/png")) { //|| !contentType.equals("image/jpg") continue; } File img = new File( "/home/esteban/NetBeansProjects/" + "CMMS-Maven/src/main/webapp/Imagenes/images_cli", new Date() + item.getName()); item.write(img); pojo.setImagen(img.getName()); } if (item.isFormField()) { if (item.getFieldName().equalsIgnoreCase("maquina")) { int idm = Integer.parseInt(item.getString()); System.out.println("Maquina"); m.setId(idm); pojo.setMaquinas(m); } else if (item.getFieldName().equalsIgnoreCase("btn")) { System.out.println("Guardar cambios"); btn = item.getString().replaceAll("\\s", ""); } else if (item.getFieldName().equalsIgnoreCase("id")) { System.out.println("id imagen"); pojo.setId(Integer.parseInt(item.getString())); } } } pojo.setEstado("Activo"); System.out.println("ste es el boton" + btn); if (btn.equalsIgnoreCase("actualizar")) { new Imagenes_Model().updateImagen(pojo); } else { new Imagenes_Model().addImagen(pojo); } response.sendRedirect("Imagenes"); } catch (FileUploadException ex) { System.out.println(ex); response.sendRedirect("Static_pages/errores.jsp"); } catch (Exception ex) { System.out.println(ex); response.sendRedirect("Static_pages/errores.jsp"); } } else { String btn = btne.replaceAll("\\s", ""); if (btn.equalsIgnoreCase("imagenes")) { Imagenes_Model model = new Imagenes_Model(); HttpSession sesion = request.getSession(); String valor = request.getParameter("valor"); List<Imagenes> result = new ArrayList<Imagenes>(); if (valor.equalsIgnoreCase("activo")) { try { result = model.getAllImagenes(); sesion.setAttribute("imagenes", result); sesion.setAttribute("maquinas", new Maquinas_Model().getAllMaquinas()); } catch (Exception e) { System.out.println(e); response.sendRedirect("Static_pages/errores.jsp"); } response.sendRedirect("Imagenes"); } else if (valor.equalsIgnoreCase("inactivo")) { try { result = model.listNoActive(); sesion.setAttribute("imagenes", result); } catch (Exception e) { System.out.println(e); response.sendRedirect("Static_pages/errores.jsp"); } response.sendRedirect("Imagenes/archivados.jsp"); } } else if (btn.equalsIgnoreCase("estado")) { System.out.println("Definicin de estado"); System.out.println("Nuevo estado: " + request.getParameter("estado")); Usuarios user = (Usuarios) request.getSession().getAttribute("usuario"); try { new Imagenes_Model().estadoImagen(request.getParameter("estado"), Integer.parseInt(request.getParameter("id")), user.getNombre()); } catch (Exception ex) { System.out.println(ex); response.sendRedirect("Static_pages/errores.jsp"); } System.out.println("Estado definido con xito"); response.sendRedirect("Imagenes"); } } }
From source file:com.bigdata.rockstor.console.UploadServlet.java
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if (!ServletFileUpload.isMultipartContent(req)) { LOG.error("It is not a MultipartContent, return error."); resp.sendError(500, "It is not a MultipartContent, return error."); return;/*from w w w. j a v a 2 s . c o m*/ } FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); upload.setFileSizeMax(1024 * 1024 * 512); List<FileItem> fileItems = null; try { fileItems = upload.parseRequest(req); LOG.info("parse requeset success : items num : " + fileItems.size()); } catch (FileUploadException e) { LOG.error("parse requeset failed !"); resp.sendError(500, "parse requeset failed !"); return; } HashMap<String, String> headMap = new HashMap<String, String>(); FileItem theFile = null; long size = -1; URI uri = null; Iterator<FileItem> iter = fileItems.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { String name = item.getFieldName(); String value = null; try { value = item.getString("UTF-8").trim(); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } LOG.info("Parse head info : " + name + " -- " + value); if (name.equals("ObjName")) { try { uri = new URI(value); } catch (URISyntaxException e) { LOG.info("Parse uri info error : " + value); uri = null; } } else if (name.equals("ObjSize")) { try { size = Long.parseLong(value); } catch (Exception e) { LOG.error("Parse objSize error : " + value); } } else { headMap.put(name, value); } } else { theFile = item; } } if (size == -1 || uri == null || theFile == null || headMap.size() == 0) { LOG.error("Parse upload info error : size==-1 || uri == null || theFile == null || headMap.size()==0"); resp.sendError(500, "Parse upload info error : size==-1 || uri == null || theFile == null || headMap.size()==0"); return; } HttpPut put = new HttpPut(); put.setURI(uri); for (Map.Entry<String, String> e : headMap.entrySet()) { if ("Filename".equals(e.getKey())) continue; put.setHeader(e.getKey(), e.getValue()); } put.setEntity(new InputStreamEntity(theFile.getInputStream(), size)); DefaultHttpClient client = new DefaultHttpClient(); HttpResponse response = client.execute(put); if (200 != response.getStatusLine().getStatusCode()) { LOG.error("Put object error : " + response.getStatusLine().getStatusCode() + " : " + response.getStatusLine().getReasonPhrase()); resp.sendError(response.getStatusLine().getStatusCode(), response.getStatusLine().getReasonPhrase()); return; } LOG.info("Put object OK : " + uri); response.setStatusCode(200); }
From source file:com.bmth.MyServlet.UploadServlet.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); boolean isMultipart = ServletFileUpload.isMultipartContent(request); HttpSession session = request.getSession(); Account account = (Account) session.getAttribute("account"); Register re = new Register(); User user = re.getUserById(account.getUserId()); // process only if it is multipart content String status = "aaa"; String category = "other"; if (isMultipart) { // Create a factory for disk-based file items FileItemFactory factory = new DiskFileItemFactory(); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); try {//from w ww . ja v a 2 s . c om // Parse the request List<FileItem> multiparts = upload.parseRequest(request); ImageDAO img = new ImageDAO(); String imgId = user.getUserId() + "" + (img.getAllImageUserId(user.getUserId()).size() + 1); int imageId = Integer.parseInt(imgId); Image image = new Image(); image.setImgId(imageId); image.setUserId(user.getUserId()); image.setPoint(0f); image.setImgDate(Calendar.getInstance().getTimeInMillis()); for (FileItem item : multiparts) { if (!item.isFormField()) { String contentType = item.getContentType(); String[] ext = contentType.split("/"); String fileName = UPLOAD_DIRECTORY + File.separator + user.getUserId() + "_" + imgId; File file = new File(fileName); item.write(file); image.setImgUrl("http://localhost:8080/Image/" + file.getName()); } else { String fieldName = item.getFieldName(); if (fieldName.equals("status")) { image.setImgDescribe(item.getString()); } if (fieldName.equals("optionsRadios")) { image.setTheme(theme(item.getString())); } } } img.AddImage(image); } catch (Exception e) { e.printStackTrace(); } } String json = "{\"message\": \"success\"}"; response.getWriter().write(json); }
From source file:manager.doCreateToy.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.// w ww . j av a2 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 { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String categoryList = ""; String fileName = null; if (ServletFileUpload.isMultipartContent(request)) { try { List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : multiparts) { if (!item.isFormField()) { String name = new File(item.getName()).getName(); imageFile = new File(item.getName()); fileName = name; } else { if (item.getFieldName().equals("toyID")) { toyID = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("toyName")) { toyName = item.getString(); } if (item.getFieldName().equals("description")) { description = item.getString(); } if (item.getFieldName().equals("category")) { categoryList += item.getString(); } if (item.getFieldName().equals("secondHand")) { secondHand = item.getString(); } if (item.getFieldName().equals("cashpoint")) { cashpoint = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("qty")) { qty = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("discount")) { discount = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("uploadString")) { base64String = item.getString(); } //if(item.getFieldName().equals("desc")) // desc= item.getString(); } } category = categoryList.split(";"); //File uploaded successfully //request.setAttribute("message", "File Uploaded Successfully" + desc); } catch (Exception ex) { request.setAttribute("message", "File Upload Failed due to " + ex); } } File file = imageFile; if (!(fileName == null)) { try { /* * Reading a Image file from file system */ FileInputStream imageInFile = new FileInputStream(file); byte imageData[] = new byte[(int) file.length()]; imageInFile.read(imageData); /* * Converting Image byte array into Base64 String */ String imageDataString = encodeImage(imageData); request.setAttribute("test", imageDataString); /* * Converting a Base64 String into Image byte array */ //byte[] imageByteArray = decodeImage(imageDataString); /* * Write a image byte array into file system */ //FileOutputStream imageOutFile = new FileOutputStream("C:\\Users\\Mesong\\Pictures\\Screenshots\\30.png"); //imageOutFile.write(imageByteArray); //request.setAttribute("photo", imageDataString); // toyDB toydb = new toyDB(); //Toy t = toydb.listToyByID(1); // toydb.updateToy(t.getToyID(), imageDataString, t.getCashpoint(), t.getQTY(), t.getDiscount()); imageInFile.close(); //request.getRequestDispatcher("managerPage/result.jsp").forward(request, response); //imageOutFile.close(); imgString = imageDataString; System.out.println("Image Successfully Manipulated!"); } catch (FileNotFoundException e) { out.println("Image not found" + e.getMessage()); } catch (IOException ioe) { System.out.println("Exception while reading the Image " + ioe); } } try { toyDB toydb = new toyDB(); // out.println("s"); // int toyID = Integer.parseInt(request.getParameter("toyID")); // String toyName = request.getParameter("toyName"); // String description = request.getParameter("description"); // // String toyIcon = request.getParameter("toyIcon"); // // String[] category = request.getParameterValues("category"); // String secondHand = request.getParameter("secondHand"); // if(toyIcon==null) toyIcon = ""; // int cashpoint = Integer.parseInt(request.getParameter("cashpoint")); // int qty = Integer.parseInt(request.getParameter("qty")); // int discount = Integer.parseInt(request.getParameter("discount")); //toydb.updateToy(toyID, toyName,description, toyIcon, cashpoint, qty, discount); if (!base64String.equals("")) imgString = base64String; toydb.createToy(toyName, description, imgString, cashpoint, qty, discount); //for(String c : category) // out.println(c); out.println(toyID); out.println(description); out.println(toyIcon); out.println(cashpoint); out.println(qty); out.println(discount); toyCategoryDB toyCatdb = new toyCategoryDB(); // toyCatdb.deleteToyType(toyID); for (String c : category) { toyCatdb.createToyCategory(Integer.parseInt(c), toyID); } if (!secondHand.equals("")) { secondHandDB seconddb = new secondHandDB(); SecondHand sh = seconddb.searchSecondHand(Integer.parseInt(secondHand)); int secondHandCashpoint = sh.getCashpoint(); toydb.updateToySecondHand(toyID, Integer.parseInt(secondHand)); toydb.updateToy(toyID, imgString, secondHandCashpoint, qty, discount); } else { toydb.updateToySecondHand(toyID, -1); } //out.println(imgString); response.sendRedirect("doSearchToy"); } catch (Exception e) { out.println(e.toString()); } finally { out.close(); } }
From source file:hu.sztaki.lpds.storage.net.bes.FileUploadServlet.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request/*w ww . j a va2s.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"); ServletRequestContext servletRequestContext = new ServletRequestContext(request); boolean isMultipart = ServletFileUpload.isMultipartContent(servletRequestContext); if (isMultipart) { File newFile; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload servletFileUpload = new ServletFileUpload(factory); servletFileUpload.setSizeMax(Long.MAX_VALUE); try { List<FileItem> listFileItems = servletFileUpload.parseRequest(request); String path = PropertyLoader.getInstance().getProperty("portal.prefix.dir") + "storage/" + request.getParameter("path") + "/"; String link = request.getParameter("link"); File f = new File(path); f.mkdirs(); String[] pathData = request.getParameter("path").split("/"); for (FileItem t : listFileItems) { if (!t.isFormField()) { newFile = new File(path + "/" + t.getFieldName()); t.write(newFile); QuotaService.getInstance().addPlussRtIDQuotaSize(pathData[0], pathData[1], pathData[2], pathData[5], newFile.length()); // QuotaService.getInstance().get(pathData[0], pathData[1]).g // System.out.println("STORAGE:"+newFile.getAbsolutePath()); if (link != null) if (!t.getFieldName().equals(link)) FileUtils.getInstance().createLink(path, t.getFieldName(), path + link + getGeneratorPostFix(t.getFieldName())); } } } catch (Exception e) { e.printStackTrace(); } } }
From source file:kg12.Ex12_1.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//from w w w.ja va2 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 { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet Ex12_1</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>???</h1>"); // multipart/form-data ?? if (ServletFileUpload.isMultipartContent(request)) { out.println("???<br>"); } else { out.println("?????<br>"); out.close(); return; } // ServletFileUpload?? DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfu = new ServletFileUpload(factory); // ??? int fileSizeMax = 1024000; factory.setSizeThreshold(1024); sfu.setSizeMax(fileSizeMax); sfu.setHeaderEncoding("UTF-8"); // ? String format = "%s:%s<br>%n"; // ??????? FileItemIterator fileIt = sfu.getItemIterator(request); while (fileIt.hasNext()) { FileItemStream item = fileIt.next(); if (item.isFormField()) { // out.print("<br>??<br>"); out.printf(format, "??", item.getFieldName()); InputStream is = item.openStream(); // ? byte ?? byte[] b = new byte[255]; // byte? b ???? is.read(b, 0, b.length); // byte? b ? "UTF-8" ??String??? result ? String result = new String(b, "UTF-8"); out.printf(format, "", result); } else { // out.print("<br>??<br>"); out.printf(format, "??", item.getName()); } } out.println("</body>"); out.println("</html>"); } catch (FileUploadException e) { out.println(e + "<br>"); throw new ServletException(e); } catch (Exception e) { out.println(e + "<br>"); throw new ServletException(e); } finally { out.close(); } }
From source file:mercury.UploadController.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); try {/*from w ww. ja va2 s.c o m*/ List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { String targetUrl = Config.getConfigProperty(ConfigurationEnum.DIGITAL_MEDIA); if (StringUtils.isBlank(targetUrl)) { targetUrl = request.getRequestURL().toString(); targetUrl = targetUrl.substring(0, targetUrl.lastIndexOf('/')); } targetUrl += "/DigitalMediaController"; PostMethod filePost = new PostMethod(targetUrl); filePost.getParams().setBooleanParameter(HttpMethodParams.USE_EXPECT_CONTINUE, false); UploadPartSource src = new UploadPartSource(item.getName(), item.getSize(), item.getInputStream()); Part[] parts = new Part[1]; parts[0] = new FilePart(item.getName(), src, item.getContentType(), null); filePost.setRequestEntity(new MultipartRequestEntity(parts, filePost.getParams())); HttpClient client = new HttpClient(); client.getHttpConnectionManager().getParams().setConnectionTimeout(5000); int status = client.executeMethod(filePost); if (status == HttpStatus.SC_OK) { String data = filePost.getResponseBodyAsString(); JSONObject json = new JSONObject(data); if (json.has("id")) { JSONObject responseJson = new JSONObject(); responseJson.put("success", true); responseJson.put("id", json.getString("id")); responseJson.put("uri", targetUrl + "?id=" + json.getString("id")); response.getWriter().write(responseJson.toString()); } } filePost.releaseConnection(); return; } } } catch (FileUploadException e) { e.printStackTrace(); } catch (JSONException je) { je.printStackTrace(); } } response.getWriter().write("{success: false}"); }