List of usage examples for org.apache.commons.fileupload FileItem isInMemory
boolean isInMemory();
From source file:it.infn.ct.code_rade_portlet.java
/** * This method manages the user input fields managing two cases * distinguished by the type of the input <form ... statement * The use of upload file controls needs the use of "multipart/form-data" * while the else condition of the isMultipartContent check manages the * standard input case. The multipart content needs a manual processing of * all <form items//from w ww .j av a 2 s.co m * All form' input items are identified by the 'name' input property * inside the jsp file * * @param request ActionRequest instance (processAction) * @param appInput AppInput instance storing the jobSubmission data */ void getInputForm(ActionRequest request, AppInput appInput) { if (PortletFileUpload.isMultipartContent(request)) try { FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Prepare a log string with field list logstring += LS + "field name: '" + fieldName + "' - '" + item.getString() + "'"; switch (inputControlsIds.valueOf(fieldName)) { case file_inputFile: appInput.inputFileName = item.getString(); processInputFile(item, appInput); break; case inputFile: appInput.inputFileText = item.getString(); break; case JobIdentifier: appInput.jobIdentifier = item.getString(); break; default: _log.warn("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring + LS); } // try catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values appInput.inputFileName = (String) request.getParameter("file_inputFile"); appInput.inputFileText = (String) request.getParameter("inputFile"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "-----------------------" + LS + "inputFileName: '" + appInput.inputFileName + "'" + LS + "inputFileText: '" + appInput.inputFileText + "'" + LS + "jobIdentifier: '" + appInput.jobIdentifier + "'" + LS); }
From source file:it.infn.ct.R_portlet.java
void getInputForm(ActionRequest request, App_Input appInput) { if (PortletFileUpload.isMultipartContent(request)) try {//ww w . j a va 2 s .co m FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Prepare a log string with field list logstring += LS + "field name: '" + fieldName + "' - '" + item.getString() + "'"; switch (inputControlsIds.valueOf(fieldName)) { case file_inputFile: appInput.inputFileName = item.getString(); processInputFile(item, appInput); break; case inputFile: appInput.inputFileText = item.getString(); break; case JobIdentifier: appInput.jobIdentifier = item.getString(); break; default: _log.warn("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring + LS); } // try catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values appInput.inputFileName = (String) request.getParameter("file_inputFile"); appInput.inputFileText = (String) request.getParameter("inputFile"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "-----------------------" + LS + "inputFileName: '" + appInput.inputFileName + "'" + LS + "inputFileText: '" + appInput.inputFileText + "'" + LS + "jobIdentifier: '" + appInput.jobIdentifier + "'" + LS); }
From source file:it.infn.ct.corsika_portlet.java
/** * This method manages the user input fields managing two cases * distinguished by the type of the input <form ... statement The use of * upload file controls needs the use of "multipart/form-data" while the * else condition of the isMultipartContent check manages the standard input * case. The multipart content needs a manual processing of all <form items * All form' input items are identified by the 'name' input property inside * the jsp file// ww w . j a v a 2s.c o m * @param request ActionRequest instance (processAction) * @param appInput AppInput instance storing the jobSubmission data */ void getInputForm(ActionRequest request, corsika_portlet.AppInput appInput) { if (PortletFileUpload.isMultipartContent(request)) { try { FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; int i = 0; int j = 0; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Prepare a log string with field list switch (corsika_portlet.inputControlsIds.valueOf(fieldName)) { case jobPID: logstring += LS + "FIELD IS A JOB PID WITH NAME : '" + item.getString() + "'"; appInput.jobPID = item.getString(); break; case JobIdentifier: logstring += LS + "FIELD IS A JOB IDENTIFIER WITH NAME : '" + item.getString() + "'"; appInput.jobIdentifier = item.getString(); break; case file_inputFile: if (fileName == "") break; logstring += LS + "FIELD IS A FILE WITH NAME : '" + fileName + "'"; appInput.inputFile = appInput.path + "/" + fileName; logstring += LS + "COPYING IT TO PATH : '" + appInput.path + "'"; copyFile(item, appInput.inputFile); break; case corsikaVersion: appInput.corsikaVersion = item.getString(); logstring += LS + "FIELD IS A CORSIKA VERSION WITH NAME : '" + appInput.corsikaVersion + "'"; break; case parametricJob: if (item.getString().trim().equals("yes")) appInput.parametricJob = true; else appInput.parametricJob = false; logstring += LS + "FIELD IS A PARAMETRIC JOB SPECIFICATION : '" + appInput.parametricJob.toString() + "'"; break; case emailWhenFinished: if (item.getString().trim().equals("yes")) appInput.emailWhenFinished = true; else appInput.emailWhenFinished = false; logstring += LS + "FIELD IS A EMAIL WHEN FINISHED SPECIFICATION : '" + appInput.emailWhenFinished.toString() + "'"; break; case useStorageElement: if (item.getString().trim().equals("yes")) appInput.useStorageElement = true; else appInput.useStorageElement = false; logstring += LS + "FIELD IS A STORAGE ELEMENT SPECIFICATION : '" + appInput.useStorageElement.toString() + "'"; break; default: _log.warn("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring + LS); } // try catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values // appInput.inputFileName = (String) request.getParameter("file_inputFile"); // appInput.inputFileText = (String) request.getParameter("inputFile"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "-----------------------" // + LS + "inputFileName: '" + appInput.inputFileName + "'" // + LS + "inputFileText: '" + appInput.inputFileText + "'" + LS + "jobIdentifier: '" + appInput.jobIdentifier + "'" + LS + "jobPID: '" + appInput.jobPID + "'" + LS + "inputFile: '" + appInput.inputFile + "'" + LS); }
From source file:admin.controller.ServletEditCategories.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//from ww w . java 2s. 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 */ @Override public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { upload_path = AppConstants.ORG_CATEGORIES_HOME; // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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(AppConstants.TMP_FOLDER)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // 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>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters field_name = fi.getFieldName(); if (field_name.equals("category_name")) { category_name = fi.getString(); } if (field_name.equals("category_id")) { category_id = fi.getString(); } if (field_name.equals("organization")) { organization_id = fi.getString(); upload_path = upload_path + File.separator + organization_id; } } else { field_name = fi.getFieldName(); file_name = fi.getName(); if (file_name != "") { File uploadDir = new File(upload_path); if (!uploadDir.exists()) { uploadDir.mkdirs(); } // int inStr = file_name.indexOf("."); // String Str = file_name.substring(0, inStr); // // file_name = category_name + "_" + Str + ".jpeg"; file_name = category_name + "_" + file_name; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String filePath = upload_path + File.separator + file_name; File storeFile = new File(filePath); fi.write(storeFile); out.println("Uploaded Filename: " + filePath + "<br>"); } } } categories.editCategories(Integer.parseInt(category_id), Integer.parseInt(organization_id), category_name, file_name); response.sendRedirect(request.getContextPath() + "/admin/categories.jsp"); out.println("</body>"); out.println("</html>"); } else { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while editing categories", ex); } finally { try { out.close(); } catch (Exception e) { } } }
From source file:admin.controller.ServletAddLooks.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from w w w . j a v a2 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 */ public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); String filePath; String fileName, fieldName; Looks look; RequestDispatcher request_dispatcher; String look_name = null; Integer organization_id = 0; boolean check; look = new Looks(); check = false; response.setContentType("text/html;charset=UTF-8"); File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { String uploadPath = AppConstants.LOOK_IMAGES_HOME; // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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("/tmp")); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters fieldName = fi.getFieldName(); try { if (fieldName.equals("lookname")) { look_name = fi.getString(); } if (fieldName.equals("organization")) { organization_id = Integer.parseInt(fi.getString()); } } catch (Exception e) { logger.log(Level.SEVERE, "Exception while getting the look_name and organization_id", e); } } else { check = look.checkAvailability(look_name, organization_id); if (check == false) { fieldName = fi.getFieldName(); fileName = fi.getName(); File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdirs(); } // int inStr = fileName.indexOf("."); // String Str = fileName.substring(0, inStr); // // fileName = look_name + "_" + Str + ".png"; fileName = look_name + "_" + fileName; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); fi.write(storeFile); look.addLooks(look_name, fileName, organization_id); response.sendRedirect(request.getContextPath() + "/admin/looks.jsp"); } else { response.sendRedirect(request.getContextPath() + "/admin/looks.jsp?exist=exist"); } } } } else { } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while uploading the Looks image", ex); } }
From source file:admin.controller.ServletAddCategories.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 */ public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { String uploadPath = AppConstants.ORG_CATEGORIES_HOME; // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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(AppConstants.TMP_FOLDER)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // 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>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters field_name = fi.getFieldName(); if (field_name.equals("category_name")) { category_name = fi.getString(); } if (field_name.equals("organization")) { organization_id = fi.getString(); uploadPath = uploadPath + File.separator + organization_id; } } else { field_name = fi.getFieldName(); file_name = fi.getName(); if (file_name != "") { check = categories.checkAvailability(category_name, Integer.parseInt(organization_id)); if (check == false) { File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdirs(); } //we need to save file name directly // int inStr = file_name.indexOf("."); // String Str = file_name.substring(0, inStr); // file_name = category_name + "_" + Str + ".jpeg"; file_name = category_name + "_" + file_name; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String filePath = uploadPath + File.separator + file_name; File storeFile = new File(filePath); fi.write(storeFile); categories.addCategories(Integer.parseInt(organization_id), category_name, file_name); out.println("Uploaded Filename: " + filePath + "<br>"); response.sendRedirect(request.getContextPath() + "/admin/categories.jsp"); } else { response.sendRedirect( request.getContextPath() + "/admin/categories.jsp?exist=exist"); } } } } out.println("</body>"); out.println("</html>"); } else { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while adding categories", ex); } finally { out.close(); } }
From source file:admin.controller.ServletChangeLooks.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//from ww w .jav a 2s.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 */ public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String filePath = ""; String fileName, fieldName, uploadPath, deletePath, file_name_to_delete = "", uploadPath1; Looks look; RequestDispatcher request_dispatcher; String lookname = "", lookid = ""; Integer organization = 0; look = new Looks(); boolean check = false; File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { 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(AppConstants.TMP_FOLDER)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // 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>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters fieldName = fi.getFieldName(); if (fieldName.equals("lookname")) { lookname = fi.getString(); } if (fieldName.equals("lookid")) { lookid = fi.getString(); } if (fieldName.equals("organization")) { organization = Integer.parseInt(fi.getString()); } file_name_to_delete = look.getFileName(Integer.parseInt(lookid)); } else { check = look.checkAvailabilities(Integer.parseInt(lookid), lookname, organization); if (check == false) { fieldName = fi.getFieldName(); fileName = fi.getName(); File uploadDir = new File(AppConstants.LOOK_IMAGES_HOME); if (!uploadDir.exists()) { uploadDir.mkdirs(); } // int inStr = fileName.indexOf("."); // String Str = fileName.substring(0, inStr); // // fileName = lookname + "_" + Str + ".png"; fileName = lookname + "_" + fileName; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String file_path = AppConstants.LOOK_IMAGES_HOME + File.separator + fileName; String delete_path = AppConstants.LOOK_IMAGES_HOME + File.separator + file_name_to_delete; File deleteFile = new File(delete_path); deleteFile.delete(); File storeFile = new File(file_path); fi.write(storeFile); out.println("Uploaded Filename: " + filePath + "<br>"); look.changeLooks(Integer.parseInt(lookid), lookname, fileName, organization); response.sendRedirect(request.getContextPath() + "/admin/looks.jsp"); } else { response.sendRedirect( request.getContextPath() + "/admin/editlook.jsp?exist=exist&look_id=" + lookid + "&look_name=" + lookname + "&organization_id=" + organization + "&image_file_name=" + file_name_to_delete); } } } out.println("</body>"); out.println("</html>"); } else { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while editing the looks", ex); } finally { out.close(); } }
From source file:edu.harvard.hul.ois.drs.pdfaconvert.service.servlets.PdfaConverterServlet.java
/** * Handles the file upload for PdfaConverter processing via streaming of the file * using the <code>POST</code> method. Example: curl -X POST -F datafile=@ * <path/to/file> <host>:[<port>]/pdfa-converter/examine Note: "pdfa-converter" in the above URL * needs to be adjusted to the final name of the WAR file. * * @param request//from ww w .ja va 2 s . c o m * servlet request * @param response * servlet response * @throws ServletException * if a servlet-specific error occurs * @throws IOException * if an I/O error occurs */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.info("Entering doPost()"); if (!ServletFileUpload.isMultipartContent(request)) { ErrorMessage errorMessage = new ErrorMessage(HttpServletResponse.SC_BAD_REQUEST, " Missing Multipart Form Data. ", request.getRequestURL().toString()); sendErrorMessageResponse(errorMessage, response); return; } try { List<FileItem> formItems = upload.parseRequest(request); Iterator<FileItem> iter = formItems.iterator(); // iterates over form's fields while (iter.hasNext()) { FileItem item = iter.next(); // processes only fields that are not form fields // if (!item.isFormField()) { if (!item.isFormField() && item.getFieldName().equals(FORM_FIELD_DATAFILE)) { long fileSize = item.getSize(); if (fileSize < 1) { ErrorMessage errorMessage = new ErrorMessage(HttpServletResponse.SC_BAD_REQUEST, " Missing File Data. ", request.getRequestURL().toString()); sendErrorMessageResponse(errorMessage, response); return; } // save original uploaded file name InputStream inputStream = item.getInputStream(); String origFileName = item.getName(); DiskFileItemExt itemExt = new DiskFileItemExt(item.getFieldName(), item.getContentType(), item.isFormField(), item.getName(), (maxInMemoryFileSizeMb * (int) MB_MULTIPLIER), factory.getRepository()); // Create a temporary unique filename for a file containing the original temp filename plus the real filename containing its file type suffix. String tempFilename = itemExt.getTempFile().getName(); StringBuilder realFileTypeFilename = new StringBuilder(tempFilename); realFileTypeFilename.append('-'); realFileTypeFilename.append(origFileName); // create the file in the same temporary directory File realInputFile = new File(factory.getRepository(), realFileTypeFilename.toString()); // strip out suffix before saving to ServletRequestListener request.setAttribute(TEMP_FILE_NAME_KEY, tempFilename.substring(0, tempFilename.indexOf('.'))); // turn InputStream into a File in temp directory OutputStream outputStream = new FileOutputStream(realInputFile); IOUtils.copy(inputStream, outputStream); outputStream.close(); try { // Send it to the PdfaConverter processor... sendPdfaConverterExamineResponse(realInputFile, origFileName, request, response); } finally { // delete both original temporary file -- if large enough will have been persisted to disk -- and our created file if (!item.isInMemory()) { // item.delete(); } if (realInputFile.exists()) { realInputFile.delete(); } } } else { ErrorMessage errorMessage = new ErrorMessage(HttpServletResponse.SC_BAD_REQUEST, " The request did not have the correct name attribute of \"datafile\" in the form processing. ", request.getRequestURL().toString(), " Processing halted."); sendErrorMessageResponse(errorMessage, response); return; } } } catch (FileUploadException ex) { logger.error(ex); ErrorMessage errorMessage = new ErrorMessage(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, " There was an unexpected server error: " + ex.getMessage(), request.getRequestURL().toString(), " Processing halted."); sendErrorMessageResponse(errorMessage, response); return; } }
From source file:it.infn.ct.ParallelSemanticSearch_portlet.java
public void getInputForm(ActionRequest request, App_Input appInput) { if (PortletFileUpload.isMultipartContent(request)) { try {/* w w w. ja va 2 s . c o m*/ FileItemFactory factory = new DiskFileItemFactory(); PortletFileUpload upload = new PortletFileUpload(factory); List items = upload.parseRequest(request); File repositoryPath = new File("/tmp"); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setRepository(repositoryPath); Iterator iter = items.iterator(); String logstring = ""; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // Prepare a log string with field list logstring += LS + "field name: '" + fieldName + "' - '" + item.getString() + "'"; switch (inputControlsIds.valueOf(fieldName)) { case JobIdentifier: appInput.jobIdentifier = item.getString(); break; default: _log.warn("Unhandled input field: '" + fieldName + "' - '" + item.getString() + "'"); } // switch fieldName } // while iter.hasNext() _log.info(LS + "Reporting" + LS + "---------" + LS + logstring + LS); } // try catch (Exception e) { _log.info("Caught exception while processing files to upload: '" + e.toString() + "'"); } } // The input form do not use the "multipart/form-data" else { // Retrieve from the input form the given application values appInput.search_word = (String) request.getParameter("search_word"); appInput.jobIdentifier = (String) request.getParameter("JobIdentifier"); appInput.nameSubject = (String) request.getParameter("nameSubject"); appInput.idResouce = (String) request.getParameter("idResource"); appInput.selected_language = (String) request.getParameter("selLanguage"); appInput.numberPage = (String) request.getParameter("numberOfPage"); appInput.numberPageOpenAgris = (String) request.getParameter("numberOfPageOpenAgris"); appInput.numRecordsForPage = (String) request.getParameter("numberOfRecords"); appInput.moreResourceCHAIN = (String) request.getParameter("moreResourceCHAIN"); appInput.moreResourceOpenAgris = (String) request.getParameter("moreResourceOpenAgris"); appInput.idResourceOpenAgris = (String) request.getParameter("idResourceOpenAgris"); appInput.moreInfoOpenAgris = (String) request.getParameter("moreInfoOpenAgris"); appInput.moreInfo = (String) request.getParameter("moreInfo"); appInput.numberPageCulturaItalia = (String) request.getParameter("numberOfPageCulturaItalia"); appInput.moreResourceCulturaItalia = (String) request.getParameter("moreResourceCulturaItalia"); appInput.moreInfoCulturaItalia = (String) request.getParameter("moreInfoCulturaItalia"); appInput.numResource = (String) request.getParameter("numResource"); appInput.numResourceFromDetails = (String) request.getParameter("numResourceFromDetails"); appInput.numResourceOpenAgris = (String) request.getParameter("numResourceOpenAgris"); appInput.numResourceOpenAgrisFromDetails = (String) request .getParameter("numResourceOpenAgrisFromDetails"); appInput.numResourceCulturaItalia = (String) request.getParameter("numResourceCulturaItalia"); appInput.numResourceCulturaItaliaFromDetails = (String) request .getParameter("numResourceCulturaItaliaFromDetails"); appInput.idResourceCulturaItalia = (String) request.getParameter("idResourceCulturaItalia"); appInput.numberPageIsidore = (String) request.getParameter("numberOfPageIsidore"); appInput.moreResourceIsidore = (String) request.getParameter("moreResourceIsidore"); appInput.idResourceIsidore = (String) request.getParameter("idResourceIsidore"); appInput.numResourceIsidore = (String) request.getParameter("numResourceIsidore"); appInput.numResourceIsidoreFromDetails = (String) request.getParameter("numResourceIsidoreFromDetails"); appInput.numberPageIsidore = (String) request.getParameter("numberOfPageIsidore"); appInput.moreInfoIsidore = (String) request.getParameter("moreInfoIsidore"); appInput.idResourceEuropeana = (String) request.getParameter("idResourceEuropeana"); appInput.moreResourceEuropeana = (String) request.getParameter("moreResourceEuropeana"); appInput.numberPageEuropeana = (String) request.getParameter("numberOfPageEuropeana"); appInput.numResourceEuropeana = (String) request.getParameter("numResourceEuropeana"); appInput.numResourceEuropeanaFromDetails = (String) request .getParameter("numResourceEuropeanaFromDetails"); appInput.numberPageEuropeana = (String) request.getParameter("numberOfPageEuropeana"); appInput.moreInfoEuropeana = (String) request.getParameter("moreInfoEuropeana"); appInput.idResourcePubmed = (String) request.getParameter("idResourcePubmed"); appInput.moreResourcePubmed = (String) request.getParameter("moreResourcePubmed"); appInput.numberPagePubmed = (String) request.getParameter("numberOfPagePubmed"); appInput.numResourcePubmed = (String) request.getParameter("numResourcePubmed"); appInput.numResourcePubmedFromDetails = (String) request.getParameter("numResourcePubmedFromDetails"); appInput.moreInfoPubmed = (String) request.getParameter("moreInfoPubmed"); appInput.idResourceEngage = (String) request.getParameter("idResourceEngage"); appInput.moreResourceEngage = (String) request.getParameter("moreResourceEngage"); appInput.numberPageEngage = (String) request.getParameter("numberOfPageEngage"); appInput.numResourceEngage = (String) request.getParameter("numResourceEngage"); appInput.numResourceEngageFromDetails = (String) request.getParameter("numResourceEngageFromDetails"); appInput.moreInfoEngage = (String) request.getParameter("moreInfoEngage"); appInput.title_GS = (String) request.getParameter("title_GS"); } // ! isMultipartContent // Show into the log the taken inputs _log.info(LS + "Taken input parameters:" + LS + "-----------------------" + LS + "Search Word: '" + appInput.search_word + "'" + LS + "jobIdentifier: '" + appInput.jobIdentifier + "'" + LS + "subject: '" + appInput.nameSubject + "'" + LS + "idResource: '" + appInput.idResouce + "'" + LS + "language selected: '" + appInput.selected_language + "'" + LS + "number page selected: '" + appInput.numberPage + "'" + LS + "number record for page: '" + appInput.numRecordsForPage + "'" + LS + "number page selected OpenAgris: '" + appInput.numberPageOpenAgris + "'" + LS + "moreResourceCHAIN: '" + appInput.moreResourceCHAIN + "'" + LS + "moreInfo: '" + appInput.moreInfo + "'" + LS + "moreResourceOpenAgris: '" + appInput.moreResourceOpenAgris + "'" + LS + "idResourceOpenAgris: '" + appInput.idResourceOpenAgris + "'" + LS + "moreInfoOpenAgris: '" + appInput.moreInfoOpenAgris + "'" + LS + "number page selected CulturaItalia: '" + appInput.numberPageCulturaItalia + "'" + LS + "moreResourceCulturaItalia: '" + appInput.moreResourceCulturaItalia + "'" + LS + "moreInfoCulturaItalia: '" + appInput.moreInfoCulturaItalia + "'" + LS + "NumResource: '" + appInput.numResource + "'" + LS + "NumResourceFromDetails: '" + appInput.numResourceFromDetails + "'" + LS + "NumResourceOpenAgris: '" + appInput.numResourceOpenAgris + "'" + LS + "NumResourceOpenAgrisFromDetails: '" + appInput.numResourceOpenAgrisFromDetails + "'" + LS + "NumResourceCulturaItalia: '" + appInput.numResourceCulturaItalia + "'" + LS + "NumResourceCulturaItaliaFromDetails: '" + appInput.numResourceCulturaItaliaFromDetails + "'" + LS + "idResourceCulturaItalia: '" + appInput.idResourceCulturaItalia + "'" + LS + "moreResourceEuropeana: '" + appInput.moreResourceEuropeana + "'" + LS); }
From source file:csiro.pidsvc.mappingstore.Manager.java
@SuppressWarnings("unchecked") protected String unwrapCompressedBackupFile(HttpServletRequest request, ICallback callback) { java.util.List<FileItem> fileList = null; GZIPInputStream gis = null;//from w w w . j a v a 2s . c o m String ret = null; try { DiskFileItemFactory fileItemFactory = new DiskFileItemFactory(); // Set the size threshold, above which content will be stored on disk. fileItemFactory.setSizeThreshold(1 * 1024 * 1024); // 1 MB // fileItemFactory.setSizeThreshold(100 * 1024); // 100 KB // Set the temporary directory to store the uploaded files of size above threshold. fileItemFactory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory); fileList = uploadHandler.parseRequest(request); for (FileItem item : fileList) { if (item.isFormField()) continue; try { // Try to restore the backup file as it was in binary format. gis = new GZIPInputStream(item.getInputStream()); ret = callback.process(gis); gis.close(); } catch (IOException ex) { String msg = ex.getMessage(); if (msg != null && msg.equalsIgnoreCase("Not in GZIP format")) { // Try to restore the backup file as it was unzipped. ret = callback.process(item.getInputStream()); } else throw ex; } // Process the first uploaded file only. return ret; } } catch (Exception ex) { String msg = ex.getMessage(); Throwable linkedException = ex.getCause(); _logger.warn(msg); if (linkedException != null) _logger.warn(linkedException.getMessage()); if (msg != null && msg.equalsIgnoreCase("Not in GZIP format")) return "ERROR: Unknown file format."; else return "ERROR: " + (msg == null ? "Something went wrong." : msg + (linkedException == null ? "" : " " + linkedException.getMessage())); } finally { try { // Close the stream. gis.close(); } catch (Exception ex) { } if (fileList != null) { // Delete all uploaded files. for (FileItem item : fileList) { if (!item.isFormField() && !item.isInMemory()) ((DiskFileItem) item).delete(); } } } _logger.trace("No file found."); return "ERROR: No file."; }