List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory setRepository
public void setRepository(File repository)
From source file:sipl.servlets.FileBackupServlet.java
/** * Upon receiving file upload submission, parses the request to read upload * data and saves the file on disk.//from w w w. j a v a 2s .c om * * @param request * @param response * @throws javax.servlet.ServletException * @throws java.io.IOException */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (!ServletFileUpload.isMultipartContent(request)) { PrintWriter writer = response.getWriter(); writer.println("Error: Form must has enctype=multipart/form-data."); writer.flush(); return; } DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(MEMORY_THRESHOLD); factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); Conexion con = new Conexion(); variableSisDAO varDAO = new variableSisDAO(con); VariableSis var = varDAO.getTipo_variable(1); String dir = var.getDatos(); String uploadPath = dir + UPLOAD_DIRECTORY; File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } try { @SuppressWarnings("unchecked") List<FileItem> formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { for (FileItem item : formItems) { if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); nombre = fileName; String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); item.write(storeFile); request.setAttribute("message", "Upload has been done successfully!"); request.setAttribute("backup", nombre); } } } } catch (Exception ex) { request.setAttribute("message", "There was an error: " + ex.getMessage()); } getServletContext().getRequestDispatcher("/restore.jsp").forward(request, response); }
From source file:sipl.servlets.FileUploadServlet.java
/** * Upon receiving file upload submission, parses the request to read upload * data and saves the file on disk./*from w w w.j a va 2 s .c o m*/ */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // checks if the request actually contains upload file if (!ServletFileUpload.isMultipartContent(request)) { // if not, we stop here PrintWriter writer = response.getWriter(); writer.println("Error: Form must has enctype=multipart/form-data."); writer.flush(); return; } // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // sets memory threshold - beyond which files are stored in disk factory.setSizeThreshold(MEMORY_THRESHOLD); // sets temporary location to store files factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // sets maximum size of request (include file + form data) upload.setSizeMax(MAX_REQUEST_SIZE); // constructs the directory path to store upload file // this path is relative to application's directory Conexion con = new Conexion(); variableSisDAO varDAO = new variableSisDAO(con); VariableSis var = varDAO.getTipo_variable(1); String dir = var.getDatos(); // String uploadPath = getServletContext().getRealPath("") // + File.separator + UPLOAD_DIRECTORY; String uploadPath = dir + 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 @SuppressWarnings("unchecked") List<FileItem> formItems = upload.parseRequest(request); if (formItems != null && formItems.size() > 0) { // iterates over form's fields for (FileItem item : formItems) { // processes only fields that are not form fields if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); nombre = fileName; String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); item.write(storeFile); request.setAttribute("message", "Upload has been done successfully!"); request.setAttribute("foto", nombre); } } } } catch (Exception ex) { request.setAttribute("message", "There was an error: " + ex.getMessage()); } // redirects client to message page getServletContext().getRequestDispatcher("/uploadImagen.jsp?accion=1").forward(request, response); }
From source file:src.servlets.ManagePropertys.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request//from ww w . java 2 s .c om * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // //set date format // DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); // //get current date time with Date() // //Date date2 = new Date(); // //System.out.println(dateFormat.format(date2)); // // // // //get current date time with Calendar() // Calendar cal = Calendar.getInstance(); // System.out.println(dateFormat.format(cal.getTime())); // setup values Agents LoggedIn = null; try { LoggedIn = AgentsDB.getByUsername(request.getUserPrincipal().getName()); //request.setAttribute("agent", agent); } //end try catch (Exception ex) { //address = "/Error.jsp"; } int agentIdfromDB = 0; agentIdfromDB = LoggedIn.getAgentId(); Integer id = 0; String street = ""; String city = ""; Integer listingNum = 0; Integer styleId = 0; Integer typeId = 0; Integer bedrooms = 0; Float bathrooms = null; Integer squarefeet = 0; String description = ""; String lotsize = ""; Short garageSize = (short) 0; Integer garageId = 0; Integer agentId = agentIdfromDB;// Need to get ID from Session when created! Date dateAdded = null; String photo;//= request.getParameter("photo"); Double price = 0.0; List<FileItem> formItems2 = null; ////////////////// // if (!ServletFileUpload.isMultipartContent(request) && id!=0) { // // if not, we stop here // PrintWriter writer = response.getWriter(); // writer.println("Error: Form must has enctype=multipart/form-data."); // writer.flush(); // return; // } // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // sets memory threshold - beyond which files are stored in disk factory.setSizeThreshold(MEMORY_THRESHOLD); // sets temporary location to store files factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); ServletFileUpload upload = new ServletFileUpload(factory); // sets maximum size of upload file upload.setFileSizeMax(MAX_FILE_SIZE); // sets maximum size of request (include file + form data) upload.setSizeMax(MAX_REQUEST_SIZE); // constructs the directory path to store upload file // this path is relative to application's directory String uploadPath = getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY; // creates the directory if it does not exist File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } // Check file Extention @SuppressWarnings("unchecked") List<FileItem> formItems = null; String fileNameExt = ""; try { formItems = upload.parseRequest(request); formItems2 = formItems; } catch (FileUploadException ex) { Logger.getLogger(ManagePropertys.class.getName()).log(Level.SEVERE, null, ex); } if (formItems != null && formItems.size() > 0) { // iterates over form's fields for (FileItem item : formItems) { // processes only fields that are not form fields if (!item.isFormField()) { fileNameExt = new File(item.getName()).getName(); } if (item.getFieldName().equals("street")) { street = item.getString(); } if (item.getFieldName().equals("city")) { city = item.getString(); } if (item.getFieldName().equals("listingNum")) { listingNum = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("styleId")) { styleId = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("typeId")) { typeId = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("bedrooms")) { bedrooms = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("bathrooms")) { bathrooms = Float.parseFloat(item.getString()); } if (item.getFieldName().equals("squarefeet")) { squarefeet = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("description")) { description = item.getString(); } if (item.getFieldName().equals("lotsize")) { lotsize = item.getString(); } if (item.getFieldName().equals("garageId")) { garageId = Integer.parseInt(item.getString()); } if (item.getFieldName().equals("garageSize")) { garageSize = Short.parseShort(item.getString()); } if (item.getFieldName().equals("price")) { price = Double.parseDouble(item.getString()); } if (item.getFieldName().equals("id")) { id = Integer.parseInt(item.getString()); } // if(item.getFieldName().equals("dateAdded")) // { // dateAdded = Date.valueOf(item.getString()); // } if (item.getFieldName().equals("photo")) { photo = item.getString(); } if (request.isUserInRole("admin")) { if (item.getFieldName().equals("agentId")) { agentId = Integer.parseInt(item.getString()); } } } } if (!ServletFileUpload.isMultipartContent(request) && id == 0) { // if not, we stop here PrintWriter writer = response.getWriter(); writer.println("Error: Form must has enctype=multipart/form-data."); writer.flush(); return; } /////// String fileNameToLowerCase = fileNameExt.toLowerCase(); String fileExtension; if (fileNameToLowerCase.contains(".")) { fileExtension = fileNameToLowerCase.substring(fileNameToLowerCase.indexOf(".") + 1, fileNameToLowerCase.length()); } else { fileExtension = ""; } if (!fileExtension.equals("png") && !fileExtension.equals("jpg") && !fileExtension.equals("jpeg") && !fileExtension.equals("gif") && !fileExtension.equals("bmp") && id == 0) { PrintWriter writer = response.getWriter(); writer.println("Error: File must be one of the following formats only. (png,jpg,gif,bmp,jpeg)"); writer.flush(); return; } //////////////// String address = ""; //Setup new property Properties newProperty = new Properties(); newProperty.setStreet(street); newProperty.setCity(city); newProperty.setListingNum(listingNum); newProperty.setStyleId(styleId); newProperty.setTypeId(typeId); newProperty.setBedrooms(bedrooms); newProperty.setBathrooms(bathrooms); newProperty.setSquarefeet(squarefeet); newProperty.setDescription(description); newProperty.setLotsize(lotsize); newProperty.setGaragesize(garageSize); newProperty.setGarageId(garageId); newProperty.setAgentId(agentId); newProperty.setPrice(price); newProperty.setDateAdded(new java.sql.Date(System.currentTimeMillis())); if (id != 0) { if (fileExtension != "") { newProperty.setPhoto(id + "." + fileExtension); } newProperty.setListingNum(id); newProperty.setId(id); PropertiesDB.updateProperty(newProperty); } else { id = PropertiesDB.insertProperty(newProperty); newProperty.setPhoto(id + "." + fileExtension); newProperty.setListingNum(id); PropertiesDB.updateProperty(newProperty); } try { // parses the request's content to extract file data //@SuppressWarnings("unchecked") //List<FileItem> formItems = upload.parseRequest(request); if (formItems2 != null && formItems2.size() > 0) { // iterates over form's fields for (FileItem item : formItems2) { // processes only fields that are not form fields if (!item.isFormField()) { if (fileExtension != "") { String fileName = id + "." + fileExtension; String filePath = uploadPath + File.separator + "large" + File.separator + fileName; String filePathThumbnail = uploadPath + File.separator + "thumbnails" + File.separator + fileName; File storeFileThumbnail = new File(filePathThumbnail); File storeFile = new File(filePath); item.write(storeFile); //Thumnail library used for resizing of both images Thumbnails.of(storeFile).size(409, 307).toFile(storeFile);//Resize Main Image with current ratio maintained. (Required before using force size on larger images) Thumbnails.of(storeFile).forceSize(409, 307).toFile(storeFile);//Resize Main Image forcing size of 409x307 Thumbnails.of(storeFile).forceSize(75, 56).toFile(storeFileThumbnail);// create thumbnail of 75x56 request.setAttribute("Status", "This Property Has Been saved successfully!"); address = "ManagePropertys?GetProperties&Status=1"; } ////THIS IS HOW TO DELETE///// // storeFile.delete(); // storeFileThumbnail.delete(); ////THIS IS HOW TO DELETE///// } else { request.setAttribute("Status", "This Property Has Been Updated successfully!"); address = "ManagePropertys?GetProperties&Status=1"; } } } } catch (Exception ex) { address = "/Error.jsp"; } //end catch response.sendRedirect("/RealtyWebsite/" + address); // RequestDispatcher dispatcher = request.getRequestDispatcher(address); // dispatcher.forward(request, response); processRequest(request, response); }
From source file:talend.ext.images.server.ImageUploadServlet.java
private String onUpload(HttpServletRequest request, ImageUploadInfo imageUploadInfo) { try {/*from w w w .j a va 2s .co m*/ boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); factory.setRepository(new File(ImageServerInfo.getInstance().getTempPath())); ServletFileUpload sevletFileUpload = new ServletFileUpload(factory); sevletFileUpload.setSizeMax(4 * 1024 * 1024); sevletFileUpload.setHeaderEncoding("utf8"); //$NON-NLS-1$ ProgressListener progressListener = new ProgressListener() { @Override public void update(long pBytesRead, long pContentLength, int pItems) { if (logger.isDebugEnabled()) { logger.debug("We are currently reading item " + pItems); //$NON-NLS-1$ if (pContentLength == -1) { logger.debug("So far, " + pBytesRead + " bytes have been read."); //$NON-NLS-1$//$NON-NLS-2$ } else { logger.debug("So far, " + pBytesRead + " of " + pContentLength //$NON-NLS-1$//$NON-NLS-2$ + " bytes have been read."); //$NON-NLS-1$ } } } }; sevletFileUpload.setProgressListener(progressListener); List<FileItem> fileItems = null; fileItems = sevletFileUpload.parseRequest(request); if (fileItems != null && fileItems.size() > 0) { Object uploadFileItemObj = getFileItem(fileItems, defaultFilefieldName); if (uploadFileItemObj != null) { FileItem uploadFileItem = (FileItem) uploadFileItemObj; Object catalogNameObj = getFileItem(fileItems, defaultCatalogfieldName); if (catalogNameObj != null) { imageUploadInfo.targetCatalogName = (String) catalogNameObj; } Object fileNameObj = getFileItem(fileItems, defaultFileNamefieldName); if (fileNameObj != null) { imageUploadInfo.targetFileShortName = (String) fileNameObj; } else { String name = uploadFileItem.getName(); int pos = name.lastIndexOf('.'); if (pos != -1) { name = name.substring(0, pos); } imageUploadInfo.targetFileShortName = name; } int rtnStatus = processUploadedFile(uploadFileItem, true, imageUploadInfo); if (rtnStatus == 1) { logger.info(imageUploadInfo.sourceFileName + " has been uploaded successfully!"); //$NON-NLS-1$ return buildUploadResult(true, imageUploadInfo.targetUri); } else if (rtnStatus == -1) { String msg = "Unavailable file type! "; //$NON-NLS-1$ logger.error(msg); return buildUploadResult(false, msg); } else if (rtnStatus == -2) { String msg = "Operation rolled back, since backuping to database failed."; //$NON-NLS-1$ logger.error(msg); return buildUploadResult(false, msg); } } } } } catch (SizeLimitExceededException e) { logger.error("File Size Limit Exceeded Exception!", e); //$NON-NLS-1$ return buildUploadResult(false, "File Size Limit Exceeded Exception!"); //$NON-NLS-1$ } catch (Exception e) { logger.error("Exception occured during uploading!", e); //$NON-NLS-1$ return buildUploadResult(false, "Exception occured during uploading!"); //$NON-NLS-1$ } return buildUploadResult(false, "It seems that Upload Task has not been executed, please check your post enctype and post field name!"); //$NON-NLS-1$ }
From source file:th.co.ais.tdims.action.knowledge.KnowledgeSaveServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pageForword = "/jsp/login.jsp"; try {/*from w ww. j a va2s. c o m*/ Profile profile2 = (Profile) request.getSession().getAttribute("USER_PROFILE"); String profileNow = profile2.getProfileId(); int knlId = 0; int exec = 0; String fileName = ""; String id = ""; String path = ""; String type = ""; String team = ""; String detail = ""; // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); ServletContext servletContext = this.getServletConfig().getServletContext(); File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir"); factory.setRepository(repository); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (item.isFormField()) { String fieldname = item.getFieldName(); if ("knlId".equals(fieldname)) { id = item.getString("UTF-8"); } else if ("fileName".equals(fieldname)) { fileName = item.getString("UTF-8"); } else if ("id".equals(fieldname)) { id = item.getString("UTF-8"); } else if ("type".equals(fieldname)) { type = item.getString("UTF-8"); } else if ("detail".equals(fieldname)) { detail = item.getString("UTF-8"); } else if ("team".equals(fieldname)) { team = item.getString("UTF-8"); } else if ("path".equals(fieldname)) { path = item.getString("UTF-8"); } } } KnowledgeDao knowledgeDao = new KnowledgeDao(); Knowledge knowledge = new Knowledge(); knowledge.setCreateBy(profileNow); knowledge.setFileName(fileName); knowledge.setPath(path.replace("\\", "/")); knowledge.setTeamId(team); knowledge.setType(type); knowledge.setDetails(detail); logger.info("knlId ::==" + id); if (id.equals("")) { logger.info(" create "); exec = knowledgeDao.createKnowledge(knowledge); } else { logger.info(" update "); knowledge.setId(id); //knowledge.setUpdateBy(profileNow); exec = knowledgeDao.updateKnowledge(knowledge); } MessageUI message = null; if (exec == 0) { message = new MessageUI(true, "??", "???", "danger"); } else { message = new MessageUI(true, "??", "?", "info"); } request.getSession().setAttribute("MessageUI", message); } catch (Exception e) { e.printStackTrace(); logger.error("save register error", e); } response.sendRedirect(request.getContextPath() + "/KnowledgeSearchServlet"); }
From source file:ubic.gemma.web.util.upload.CommonsMultipartMonitoredResolver.java
@Override public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException { String enc = determineEncoding(request); ServletFileUpload fileUpload = this.newFileUpload(request); DiskFileItemFactory newFactory = (DiskFileItemFactory) fileUpload.getFileItemFactory(); fileUpload.setSizeMax(sizeMax);/* w w w .java2s . c om*/ newFactory.setRepository(this.uploadTempDir); fileUpload.setHeaderEncoding(enc); try { MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<>(); Map<String, String[]> multipartParams = new HashMap<>(); // Extract multipart files and multipart parameters. List<?> fileItems = fileUpload.parseRequest(request); for (Object fileItem1 : fileItems) { FileItem fileItem = (FileItem) fileItem1; if (fileItem.isFormField()) { String value; String fieldName = fileItem.getFieldName(); try { value = fileItem.getString(enc); } catch (UnsupportedEncodingException ex) { logger.warn("Could not decode multipart item '" + fieldName + "' with encoding '" + enc + "': using platform default"); value = fileItem.getString(); } String[] curParam = multipartParams.get(fieldName); if (curParam == null) { // simple form field multipartParams.put(fieldName, new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParams.put(fieldName, newParam); } } else { // multipart file field MultipartFile file = new CommonsMultipartFile(fileItem); multipartFiles.set(file.getName(), file); if (logger.isDebugEnabled()) { logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename [" + file.getOriginalFilename() + "]"); } } } return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParams, null); } catch (FileUploadException ex) { return new FailedMultipartHttpServletRequest(request, ex.getMessage()); } }
From source file:ubic.gemma.web.util.upload.CommonsMultipartMonitoredResolver.java
/** * Create a factory for disk-based file items with a listener we can check for progress. * * @param request request/*from w ww. j a v a2 s . c o m*/ * @return the new FileUpload instance */ protected ServletFileUpload newFileUpload(HttpServletRequest request) { UploadListener listener = new UploadListener(request); DiskFileItemFactory factory = new MonitoredDiskFileItemFactory(listener); ServletFileUpload upload = new ServletFileUpload(factory); factory.setRepository(uploadTempDir); upload.setSizeMax(sizeMax); return upload; }
From source file:unioeste.geral.servlet.UploadServlet.java
/** * Handles the HTTP <code>POST</code> method. * * @param request servlet request/*w w w . j a 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 */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // mkdir 'k-lima/Code/K-lima/build/web/data/' String diretorioAtual = System.getProperty("user.dir"); diretorioAtual = diretorioAtual.split("k-lima")[0]; new File(diretorioAtual + "k-lima/Code/K-lima/build/web/data").mkdir(); // Check that we have a file upload request boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { return; } // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); // Sets the size threshold beyond which files are written directly to // disk. factory.setSizeThreshold(MAX_MEMORY_SIZE); // Sets the directory used to temporarily store files that are larger // than the configured size threshold. We use temporary directory for // java factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); // constructs the folder where uploaded file will be stored String uploadFolder = getServletContext().getRealPath("") + DATA_DIRECTORY; // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // Set overall request size constraint upload.setSizeMax(MAX_REQUEST_SIZE); try { // Parse the request List items = upload.parseRequest(request); Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); String filePath = uploadFolder + File.separator + fileName; File uploadedFile = new File(filePath); // saves the file to upload directory item.write(uploadedFile); //inseri no banco estes dados new AlunoManager().carregarCSV(uploadedFile); } } // displays done.jsp page after upload finished getServletContext().getRequestDispatcher("/tabela_evasao.jsp").forward(request, response); } catch (FileUploadException ex) { throw new ServletException(ex); } catch (Exception ex) { System.out.print("Deu erro!"); throw new ServletException(ex); } }
From source file:upload.UploadAction.java
public void handleUploads(HttpServletRequest servletRequest, String saveDir, int maxSize) throws IOException { DiskFileItemFactory fac = new DiskFileItemFactory(); ReadProperties rp = new ReadProperties(); fac.setSizeThreshold(0);/* w ww .j av a 2 s. c o m*/ if (saveDir != null) { fac.setRepository(new File(saveDir)); } // Parse the request try { ServletFileUpload upload = new ServletFileUpload(fac); List items = upload.parseRequest(createRequestContext(servletRequest)); FileItem item = (FileItem) items.get(0); System.out.println("Found item " + item.getFieldName()); if (item.isFormField()) { System.out.println("Item is a normal form field"); } else { System.out.println("Item is a file upload"); DiskFileItem diskFileItem = (DiskFileItem) item; filename = rp.getValue("FILE_UPLOAD") + getCanonicalName(diskFileItem.getName()); System.out.println("The file name is..." + filename); // retrieve the file data InputStream stream = item.getInputStream(); file = diskFileItem.getStoreLocation(); OutputStream bos = new FileOutputStream(filename); int bytesRead = 0; byte[] buffer = new byte[8192]; while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) { bos.write(buffer, 0, bytesRead); } bos.close(); stream.close(); } } catch (FileUploadException e) { System.err.println(e); e.printStackTrace(); } }
From source file:us.mn.state.health.lims.common.servlet.reports.LogoUploadServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Check that we have a file upload request boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (!isMultipart) { return;//from w w w.ja v a 2 s . c o m } DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(MAX_MEMORY_SIZE); factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); String uploadFullPath = getServletContext().getRealPath("") + FILE_PATH; String uploadPreviewPath = getServletContext().getRealPath("") + PREVIEW_FILE_PATH; ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(MAX_REQUEST_SIZE); try { @SuppressWarnings("unchecked") List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (validToWrite(item)) { File uploadedFile = new File(uploadFullPath); item.write(uploadedFile); File previewFile = new File(uploadPreviewPath); item.write(previewFile); break; } } getServletContext().getRequestDispatcher("/PrintedReportsConfigurationMenu.do").forward(request, response); } catch (FileUploadException ex) { throw new ServletException(ex); } catch (Exception ex) { throw new ServletException(ex); } }