List of usage examples for org.apache.commons.fileupload FileItem getFieldName
String getFieldName();
From source file:com.github.davidcarboni.encryptedfileupload.SizesTest.java
/** * Runs a test with varying file sizes./*from www . ja v a2 s . c o m*/ */ @Test public void testFileUpload() throws IOException, FileUploadException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); int add = 16; int num = 0; for (int i = 0; i < 16384; i += add) { if (++add == 32) { add = 16; } String header = "-----1234\r\n" + "Content-Disposition: form-data; name=\"field" + (num++) + "\"\r\n" + "\r\n"; baos.write(header.getBytes("US-ASCII")); for (int j = 0; j < i; j++) { baos.write((byte) j); } baos.write("\r\n".getBytes("US-ASCII")); } baos.write("-----1234--\r\n".getBytes("US-ASCII")); List<FileItem> fileItems = parseUpload(baos.toByteArray()); Iterator<FileItem> fileIter = fileItems.iterator(); add = 16; num = 0; for (int i = 0; i < 16384; i += add) { if (++add == 32) { add = 16; } FileItem item = fileIter.next(); assertEquals("field" + (num++), item.getFieldName()); byte[] bytes = item.get(); assertEquals(i, bytes.length); for (int j = 0; j < i; j++) { assertEquals((byte) j, bytes[j]); } } assertTrue(!fileIter.hasNext()); }
From source file:gwtupload.server.gae.BlobstoreUploadAction.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String error = null;/* w w w . j a v a 2 s . co m*/ perThreadRequest.set(request); try { error = super.parsePostRequest(request, response); } catch (UploadCanceledException e) { redirect(response, PARAM_CANCEL + "=true"); return; } catch (Exception e) { logger.info("BLOB-STORE-SERVLET: Exception " + e); error = e.getMessage(); } finally { perThreadRequest.set(null); } if (error != null) { removeSessionFileItems(request); redirect(response, PARAM_ERROR + "=" + error); perThreadRequest.set(null); return; } List<FileItem> sessionFiles = getLastReceivedFileItems(request); if (sessionFiles == null) { sessionFiles = new ArrayList<FileItem>(); request.setAttribute(getSessionLastFilesKey(request), sessionFiles); } Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(request); if (blobs != null && blobs.size() > 0) { for (Entry<String, List<BlobKey>> e : blobs.entrySet()) { for (BlobKey blob : e.getValue()) { BlobstoreFileItem bfi = null; if (sessionFiles != null) { for (FileItem i : sessionFiles) { if (i.getFieldName().replaceFirst("-\\d+$", "") .equals(e.getKey().replace(UConsts.MULTI_SUFFIX, ""))) { bfi = (BlobstoreFileItem) i; break; } } } if (bfi == null) { bfi = new BlobstoreFileItem(e.getKey(), "unknown", false, ""); sessionFiles.add(bfi); } bfi.setKey(blob); logger.info("BLOB-STORE-SERVLET: received file: " + e.getKey() + " " + bfi); } } redirect(response, null); } else { redirect(response, PARAM_ERROR + "=" + getMessage("no_data")); } perThreadRequest.set(null); }
From source file:id.go.customs.training.gudang.web.BarangUploadServlet.java
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { Boolean adaFile = ServletFileUpload.isMultipartContent(req); if (adaFile) { try {//w w w . j av a 2 s. c om String lokasiLengkap = req.getServletContext().getRealPath(lokasiPenyimpanan); System.out.println("Lokasi hasil upload : " + lokasiLengkap); // inisialisasi prosesor upload DiskFileItemFactory factory = new DiskFileItemFactory(); File lokasiSementaraHasilUpload = (File) req.getServletContext() .getAttribute("javax.servlet.context.tempdir"); factory.setRepository(lokasiSementaraHasilUpload); System.out.println("Lokasi upload sementara : " + lokasiSementaraHasilUpload.getAbsolutePath()); ServletFileUpload prosesorUpload = new ServletFileUpload(factory); List<FileItem> hasilUpload = prosesorUpload.parseRequest(req); System.out.println("Jumlah file = " + hasilUpload.size()); for (FileItem fileItem : hasilUpload) { System.out.println("----- Informasi File -----"); System.out.println("Tipe File : " + fileItem.getContentType()); System.out.println("Nama Field : " + fileItem.getFieldName()); System.out.println("Nama File : " + fileItem.getName()); System.out.println("Ukuran File : " + fileItem.getSize()); String fileTujuan = lokasiLengkap + File.separator + fileItem.getName(); File tujuan = new File(fileTujuan); fileItem.write(tujuan); System.out.println("Hasil upload ada di " + fileTujuan); HasilImportBarang hasil = BarangImporter.importCsv(tujuan); req.setAttribute("hasil", hasil); } } catch (Exception ex) { Logger.getLogger(BarangUploadServlet.class.getName()).log(Level.SEVERE, null, ex); } } // selesai upload, tampilkan hasil upload req.getRequestDispatcher("/WEB-INF/templates/jsp/barang/import.jsp").forward(req, resp); }
From source file:ch.zhaw.init.walj.projectmanagement.admin.properties.LogoUpload.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { isMultipart = ServletFileUpload.isMultipartContent(request); response.setContentType("text/html"); PrintWriter out = response.getWriter(); boolean small = request.getParameter("size").equals("small"); String message = ""; if (!isMultipart) { message = "<div class=\"row\">" + "<div class=\"small-12 columns\">" + "<div class=\"row\">" + "<div class=\"callout alert\">" + "<h5>Upload failed</h5>" + "</div></div>" + "</div></div>"; }// www . ja va2 s. co m DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. factory.setRepository(new File(this.getServletContext().getRealPath("/") + "img/")); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); try { // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); String fileName; if (small) { fileName = "logo_small.png"; } else { fileName = "logo.png"; } String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); filePath = this.getServletContext().getRealPath("/") + "img/" + fileName; // Write the file file = new File(filePath); fi.write(file); out.println("Uploaded Filename: " + fileName + "<br>"); } } out.println("</body>"); out.println("</html>"); } catch (Exception ex) { System.out.println(ex); } }
From source file:com.openkm.servlet.admin.CheckTextExtractionServlet.java
@SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { log.debug("doPost({}, {})", request, response); request.setCharacterEncoding("UTF-8"); updateSessionManager(request);/*from w w w . ja va2 s.c om*/ InputStream is = null; try { if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); String docUuid = null; String repoPath = null; String text = null; String error = null; String mimeType = null; String extractor = null; for (Iterator<FileItem> it = items.iterator(); it.hasNext();) { FileItem item = it.next(); if (item.isFormField()) { if (item.getFieldName().equals("docUuid")) { docUuid = item.getString("UTF-8"); } else if (item.getFieldName().equals("repoPath")) { repoPath = item.getString("UTF-8"); } } else { is = item.getInputStream(); String name = FilenameUtils.getName(item.getName()); mimeType = MimeTypeConfig.mimeTypes.getContentType(name.toLowerCase()); if (!name.isEmpty() && item.getSize() > 0) { docUuid = null; repoPath = null; } else if (docUuid.isEmpty() && repoPath.isEmpty()) { mimeType = null; } } } if (docUuid != null && !docUuid.isEmpty()) { repoPath = OKMRepository.getInstance().getNodePath(null, docUuid); } if (repoPath != null && !repoPath.isEmpty()) { String name = PathUtils.getName(repoPath); mimeType = MimeTypeConfig.mimeTypes.getContentType(name.toLowerCase()); is = OKMDocument.getInstance().getContent(null, repoPath, false); } long begin = System.currentTimeMillis(); if (is != null) { if (!MimeTypeConfig.MIME_UNDEFINED.equals(mimeType)) { TextExtractor extClass = RegisteredExtractors.getTextExtractor(mimeType); if (extClass != null) { try { extractor = extClass.getClass().getCanonicalName(); text = RegisteredExtractors.getText(mimeType, null, is); } catch (Exception e) { error = e.getMessage(); } } else { extractor = "Undefined text extractor"; } } } ServletContext sc = getServletContext(); sc.setAttribute("docUuid", docUuid); sc.setAttribute("repoPath", repoPath); sc.setAttribute("text", text); sc.setAttribute("time", System.currentTimeMillis() - begin); sc.setAttribute("mimeType", mimeType); sc.setAttribute("error", error); sc.setAttribute("extractor", extractor); sc.getRequestDispatcher("/admin/check_text_extraction.jsp").forward(request, response); } } catch (DatabaseException e) { sendErrorRedirect(request, response, e); } catch (FileUploadException e) { sendErrorRedirect(request, response, e); } catch (PathNotFoundException e) { sendErrorRedirect(request, response, e); } catch (AccessDeniedException e) { sendErrorRedirect(request, response, e); } catch (RepositoryException e) { sendErrorRedirect(request, response, e); } finally { IOUtils.closeQuietly(is); } }
From source file:com.bluelotussoftware.apache.commons.fileupload.example.FileUploadServlet.java
private String processUploadedFile(FileItem item) { StringBuilder sb = new StringBuilder(); // Process a file upload if (!item.isFormField()) { String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); try {// www . j av a 2s .c o m item.write(new File(realPath + item.getName())); } catch (Exception ex) { log(FileUploadServlet.class.getName() + " has thrown an exception: " + ex.getMessage()); } sb.append("<p>fieldName: ").append(fieldName).append("</p>").append("<p>fileName: ").append(fileName) .append("</p>").append("<p>contentType: ").append(contentType).append("</p>") .append("<p>isInMemory: ").append(isInMemory).append("</p>").append("<p>sizeInBytes: ") .append(sizeInBytes).append("</p>"); } return sb.toString(); }
From source file:com.flipkart.poseidon.core.PoseidonServlet.java
private void handleFileUpload(PoseidonRequest request, HttpServletRequest httpRequest) throws IOException { // If uploaded file size is more than 10KB, will be stored in disk DiskFileItemFactory factory = new DiskFileItemFactory(); File repository = new File(FILE_UPLOAD_TMP_DIR); if (repository.exists()) { factory.setRepository(repository); }//from ww w .j ava 2s. co m // Currently we don't impose max file size at container layer. Apps can impose it by checking FileItem // Apps also have to delete tmp file explicitly (if at all it went to disk) ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> fileItems = null; try { fileItems = upload.parseRequest(httpRequest); } catch (FileUploadException e) { throw new IOException(e); } for (FileItem fileItem : fileItems) { String name = fileItem.getFieldName(); if (fileItem.isFormField()) { request.setAttribute(name, new String[] { fileItem.getString() }); } else { request.setAttribute(name, fileItem); } } }
From source file:com.silverpeas.form.AbstractFormTest.java
@Test public void testIsEmptyWithNoFileItemsFound() throws Exception { MyFormImpl myForm = new MyFormImpl( new MyRecordTemplate(new MyFieldTemplate(FIELD_NAME1, FIELD_TYPE, FIELD_LABEL1), new MyFieldTemplate(FIELD_NAME2, FIELD_TYPE, FIELD_LABEL2))); DataRecord dataRecord = mock(DataRecord.class); PagesContext pagesContext = mock(PagesContext.class); FileItem fileItem = mock(FileItem.class); when(fileItem.getFieldName()).thenReturn(""); when(fileItem.getName()).thenReturn(""); when(fileItem.isFormField()).thenReturn(true); boolean isEmpty = myForm.isEmpty(Arrays.asList(fileItem, fileItem), dataRecord, pagesContext); assertTrue(isEmpty);/* w w w.j av a 2 s.c o m*/ }
From source file:controller.AddNewEC.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w w w. ja v a 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"); ExtenuatingCircumstance ec = new ExtenuatingCircumstance(); if (ServletFileUpload.isMultipartContent(request)) { try { int year = 0; String fname = StringUtils.EMPTY; String title = StringUtils.EMPTY; String desciption = StringUtils.EMPTY; List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); ArrayList<FileItem> files = new ArrayList<>(); for (FileItem item : multiparts) { if (item.isFormField()) { if (item.getFieldName().equals("year")) { year = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("title")) { title = item.getString(); } if (item.getFieldName().equals("description")) { desciption = item.getString(); } } else { if (StringUtils.isNotEmpty(item.getName())) { files.add(item); } } } HttpSession session = request.getSession(false); Account studentAccount = (Account) session.getAttribute("account"); LocalDateTime now = WsadUtils.GetCurrentDatetime(); // insert EC ec.setAcademicYear(year); ec.setTitle(title); ec.setDescription(desciption); ec.setProcess_status("submitted"); ec.setSubmitted_date(now.toString()); ec.setAccount(studentAccount.getId()); ExtenuatingCircumstance insertedEC = new ExtenuatingCircumstanceDAO().insertEC(ec); //insert assigned coordinator Account coordinator = new AccountDAO().getCoordinator(studentAccount.getFaculty()); insertAssignedCoordinator(coordinator, insertedEC); //insert evidence insertedEvidence(files, now, insertedEC, studentAccount); String mailContent = WsadUtils.buildMailContentForNewEC(insertedEC); SendMail.sendMail(coordinator.getEmail(), "New EC", mailContent); } catch (Exception e) { e.printStackTrace(); } } else { request.setAttribute("message", "Sorry this Servlet only handles file upload request"); } request.setAttribute("resultMsg", "inserted"); request.getRequestDispatcher("AddNewECResult.jsp").forward(request, response); }
From source file:com.kk.dic.action.Upload.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); out = response.getWriter();/*from w w w .j av a 2 s . co m*/ Connection con; PreparedStatement pstm = null; String fname = ""; String keyword = ""; String cd = ""; String a = (String) request.getSession().getAttribute("email"); System.out.println("User Name : " + a); try { boolean isMultipartContent = ServletFileUpload.isMultipartContent(request); if (!isMultipartContent) { return; } FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); out.print("one"); try { List<FileItem> fields = upload.parseRequest(request); Iterator<FileItem> it = fields.iterator(); if (!it.hasNext()) { return; } while (it.hasNext()) { FileItem fileItem = it.next(); if (fileItem.getFieldName().equals("name")) { fname = fileItem.getString(); System.out.println("File Name" + fname); } else if (fileItem.getFieldName().equals("keyword")) { keyword = fileItem.getString(); System.out.println("File Keyword" + keyword); } else { } boolean isFormField = fileItem.isFormField(); if (isFormField) { } else { out.print("one"); try { con = Dbconnection.getConnection(); pstm = con.prepareStatement( "insert into files (file, keyword, filetype, filename, CDate, owner, size, data, frank, file_key)values(?,?,?,?,?,?,?,?,?,?)"); out.println("getD " + fileItem.getName()); String str = getStringFromInputStream(fileItem.getInputStream()); // secretkey generating KeyGenerator keyGen = KeyGenerator.getInstance("AES"); keyGen.init(128); SecretKey secretKey = keyGen.generateKey(); System.out.println("secret key:" + secretKey); //converting secretkey to String byte[] be = secretKey.getEncoded();//encoding secretkey String skey = Base64.encode(be); System.out.println("converted secretkey to string:" + skey); String cipher = new encryption().encrypt(str, secretKey); System.out.println(str); //for get extension from given file String b = fileItem.getName().substring(fileItem.getName().lastIndexOf('.')); System.out.println("File Extension" + b); pstm.setBinaryStream(1, fileItem.getInputStream()); pstm.setString(2, keyword); pstm.setString(3, b); pstm.setString(4, fname); pstm.setDate(5, getCurrentDate()); pstm.setString(6, a); pstm.setLong(7, fileItem.getSize()); pstm.setString(8, cipher); pstm.setString(9, "0"); pstm.setString(10, skey); /*Cloud Start*/ File f = new File("D:/" + fileItem.getName()); out.print("<br/>" + f.getName()); FileWriter fw = new FileWriter(f); fw.write(cipher); fw.close(); Ftpcon ftpcon = new Ftpcon(); ftpcon.upload(f, fname); /*Cloud End*/ int i = pstm.executeUpdate(); if (i == 1) { response.sendRedirect("upload.jsp?msg=success"); } else { response.sendRedirect("upload.jsp?msgg=failed"); } con.close(); } catch (Exception e) { out.println(e); } } } } catch (Exception ex) { out.print(ex); Logger.getLogger(Upload.class.getName()).log(Level.SEVERE, null, ex); } } finally { out.close(); } }