List of usage examples for org.apache.commons.fileupload FileItem getSize
long getSize();
From source file:com.sonicle.webtop.core.app.AbstractEnvironmentService.java
public void processUpload(HttpServletRequest request, HttpServletResponse response, PrintWriter out) { ServletFileUpload upload = null;/* ww w . j a v a2s. c o m*/ WebTopSession.UploadedFile uploadedFile = null; HashMap<String, String> multipartParams = new HashMap<>(); try { String service = ServletUtils.getStringParameter(request, "service", true); String cntx = ServletUtils.getStringParameter(request, "context", true); String tag = ServletUtils.getStringParameter(request, "tag", null); if (!ServletFileUpload.isMultipartContent(request)) throw new Exception("No upload request"); IServiceUploadStreamListener istream = getUploadStreamListener(cntx); if (istream != null) { try { MapItem data = new MapItem(); // Empty response data // Defines the upload object upload = new ServletFileUpload(); FileItemIterator it = upload.getItemIterator(request); while (it.hasNext()) { FileItemStream fis = it.next(); if (fis.isFormField()) { InputStream is = null; try { is = fis.openStream(); String key = fis.getFieldName(); String value = IOUtils.toString(is, "UTF-8"); multipartParams.put(key, value); } finally { IOUtils.closeQuietly(is); } } else { // Creates uploaded object uploadedFile = new WebTopSession.UploadedFile(true, service, IdentifierUtils.getUUID(), tag, fis.getName(), -1, findMediaType(fis)); // Fill response data data.add("virtual", uploadedFile.isVirtual()); data.add("editable", isFileEditableInDocEditor(fis.getName())); // Handle listener, its implementation can stop // file upload throwing a UploadException. InputStream is = null; try { getEnv().getSession().addUploadedFile(uploadedFile); is = fis.openStream(); istream.onUpload(cntx, request, multipartParams, uploadedFile, is, data); } finally { IOUtils.closeQuietly(is); getEnv().getSession().removeUploadedFile(uploadedFile, false); } } } new JsonResult(data).printTo(out); } catch (UploadException ex1) { new JsonResult(false, ex1.getMessage()).printTo(out); } catch (Exception ex1) { throw ex1; } } else { try { MapItem data = new MapItem(); // Empty response data IServiceUploadListener iupload = getUploadListener(cntx); // Defines the upload object DiskFileItemFactory factory = new DiskFileItemFactory(); //TODO: valutare come imporre i limiti //factory.setSizeThreshold(yourMaxMemorySize); //factory.setRepository(yourTempDirectory); upload = new ServletFileUpload(factory); List<FileItem> files = upload.parseRequest(request); // Plupload component (client-side) will upload multiple file // each in its own request. So we can skip loop on files. Iterator it = files.iterator(); while (it.hasNext()) { FileItem fi = (FileItem) it.next(); if (fi.isFormField()) { InputStream is = null; try { is = fi.getInputStream(); String key = fi.getFieldName(); String value = IOUtils.toString(is, "UTF-8"); multipartParams.put(key, value); } finally { IOUtils.closeQuietly(is); } } else { // Writes content into a temp file File file = WT.createTempFile(UPLOAD_TEMPFILE_PREFIX); fi.write(file); // Creates uploaded object uploadedFile = new WebTopSession.UploadedFile(false, service, file.getName(), tag, fi.getName(), fi.getSize(), findMediaType(fi)); getEnv().getSession().addUploadedFile(uploadedFile); // Fill response data data.add("virtual", uploadedFile.isVirtual()); data.add("uploadId", uploadedFile.getUploadId()); data.add("editable", isFileEditableInDocEditor(fi.getName())); // Handle listener (if present), its implementation can stop // file upload throwing a UploadException. if (iupload != null) { try { iupload.onUpload(cntx, request, multipartParams, uploadedFile, data); } catch (UploadException ex2) { getEnv().getSession().removeUploadedFile(uploadedFile, true); throw ex2; } } } } new JsonResult(data).printTo(out); } catch (UploadException ex1) { new JsonResult(ex1).printTo(out); } } } catch (Exception ex) { WebTopApp.logger.error("Error uploading", ex); new JsonResult(ex).printTo(out); } }
From source file:controllers.controller.java
private void insertarObjetoArchivo(HttpSession session, HttpServletRequest request, HttpServletResponse response, QUID quid, PrintWriter out, HashMap parameters, LinkedList filesToUpload, String FormFrom) throws Exception { if (parameters.get("idTipoArchivo") == null || parameters.get("idTipoArchivo").equals("")) { this.getServletConfig().getServletContext() .getRequestDispatcher("" + PageParameters.getParameter("msgUtil") + "/msgNRedirect.jsp?title=Error&type=error&msg=Seleccione el tipo de archivo.&url=" + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui") + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "=" + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto=" + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto")) .forward(request, response); } else if (parameters.get("nombreArchivo") == null || parameters.get("nombreArchivo").equals("")) { this.getServletConfig().getServletContext() .getRequestDispatcher("" + PageParameters.getParameter("msgUtil") + "/msgNRedirect.jsp?title=Error&type=error&msg=Escriba el nombre del archivo.&url=" + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui") + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "=" + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto=" + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto")) .forward(request, response); } else if (parameters.get("descripcion") == null || parameters.get("descripcion").toString().trim().equals("")) { this.getServletConfig().getServletContext() .getRequestDispatcher("" + PageParameters.getParameter("msgUtil") + "/msgNRedirect.jsp?title=Error&type=error&msg=Escriba una descripcin.&url=" + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui") + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "=" + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto=" + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto")) .forward(request, response); } else if (parameters.get("tipoAcceso").equals("")) { this.getServletConfig().getServletContext().getRequestDispatcher("" + PageParameters.getParameter("msgUtil") + "/msgNRedirect.jsp?title=Error&type=error&msg=Seleccione el tipo de acceso para el archivo.&url=" + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui") + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "=" + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto=" + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto")) .forward(request, response); } else if (filesToUpload.isEmpty()) { this.getServletConfig().getServletContext().getRequestDispatcher("" + PageParameters.getParameter("msgUtil") + "/msgNRedirect.jsp?title=Error&type=error&msg=No ha seleccionado ningn archivo.&url=" + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui") + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "=" + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto=" + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto")) .forward(request, response); } else if (!filesToUpload.isEmpty()) { String idObjeto = WebUtil.decode(session, parameters.get("idObjeto").toString()); String fechaActualizacion = UTime.calendar2SQLDateFormat(Calendar.getInstance()); String descripcion = WebUtil.decode(session, parameters.get("descripcion").toString()); String ubicacionFisica = PageParameters.getParameter("folderDocs"); String idTipoArchivo = WebUtil.decode(session, parameters.get("idTipoArchivo").toString()); String nombreObjeto = WebUtil.decode(session, parameters.get("nombreObjeto").toString()); String keyWords = parameters.get("keywords").toString(); String nombreArchivo = parameters.get("nombreArchivo").toString(); String FK_ID_Plantel = session.getAttribute("FK_ID_Plantel").toString(); //File verifyFolder = new File(PageParameters.getParameter("folderDocs")); File verifyFolder = new File(ubicacionFisica); if (!verifyFolder.exists()) { verifyFolder.mkdirs();/* ww w .j a v a 2 s . c o m*/ } int sucess = 0; for (int i = 0; i < filesToUpload.size(); i++) { FileItem itemToUpload = null; itemToUpload = (FileItem) filesToUpload.get(i); String extension = FileUtil.getExtension(itemToUpload.getName()); String hashName = JHash.getFileDigest(itemToUpload.get(), "MD5") + extension; long tamanio = itemToUpload.getSize(); if (this.validarDocumentExtension(session, request, response, quid, out, extension)) { File fileToWrite = new File(ubicacionFisica, hashName); Transporter tport = quid.insertArchivo4Objeto(idObjeto, nombreObjeto, idTipoArchivo, nombreArchivo, descripcion, ubicacionFisica, extension, fechaActualizacion, tamanio, WebUtil.decode(session, parameters.get("tipoAcceso").toString()).toLowerCase(), keyWords, hashName, FK_ID_Plantel); if (tport.getCode() == 0) { if (!fileToWrite.exists()) { itemToUpload.write(fileToWrite); } sucess += 1; } } else { sucess = -1; } } if (sucess != -1) { this.getServletConfig().getServletContext() .getRequestDispatcher("" + PageParameters.getParameter("msgUtil") + "/msgNRedirect.jsp?title=Operacin Exitosa&type=info&msg=Se han guardado " + sucess + " de " + filesToUpload.size() + " archivos.&url=" + PageParameters.getParameter("mainContext") + PageParameters.getParameter("gui") + "/Insert_ObjetoArchivo.jsp?" + WebUtil.encode(session, "imix") + "=" + WebUtil.encode(session, UTime.getTimeMilis()) + "_param_nombreObjeto=" + parameters.get("nombreObjeto") + "_param_idObjeto=" + parameters.get("idObjeto")) .forward(request, response); } } }
From source file:com.food.adminservlet.FoodServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int foodid = 0; String foodName = ""; String fooddesc = ""; Double foodprice = 0.0;//from www . ja v a 2 s. co m String foodCategory = ""; PrintWriter out = response.getWriter(); isMultipart = ServletFileUpload.isMultipartContent(request); FoodBean bkfood = new FoodBean(); FoodBL foodbl = new FoodBL(); try { response.setContentType("text/html"); //java.io.PrintWriter out = response.getWriter( ); 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("c:\\temp")); // 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>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { if (fi.getFieldName().equals("foodid")) { foodid = Integer.parseInt(fi.getString()); } if (fi.getFieldName().equals("foodname")) { foodName = fi.getString(); } if (fi.getFieldName().equals("fooddesc")) { fooddesc = fi.getString(); } if (fi.getFieldName().equals("foodprice")) { foodprice = Double.parseDouble(fi.getString()); } if (fi.getFieldName().equals("foodcate")) { foodCategory = fi.getString(); } out.println("<br>"); } if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file if (fileName.lastIndexOf("\\") >= 0) { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\"))); } else { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1)); } fi.write(file); out.println("Uploaded Filename: " + fileName + "<br>"); } } out.println(fileName); bkfood.setFoodId(foodid); bkfood.setFoodName(foodName); bkfood.setFoodPrice(foodprice); bkfood.setFoodCateg(foodCategory); bkfood.setFoodDesc(fooddesc); bkfood.setFoodRetreiveImage(fileName); // bkfood.setFoodimage(request.getPart("foodimage")); bkfood.setFoodstatus("Y"); int chk = foodbl.addFoodItems(bkfood); out.println(chk); if (chk == 1) { response.sendRedirect("food.jsp"); } } catch (Exception ex) { out.println(ex); } }
From source file:com.duroty.application.mail.actions.SendAction.java
protected ActionForward doExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { ActionMessages errors = new ActionMessages(); try {//w w w .j a va 2 s .co m boolean isMultipart = FileUpload.isMultipartContent(request); Mail mailInstance = getMailInstance(request); if (isMultipart) { Map fields = new HashMap(); Vector attachments = new Vector(); //Parse the request List items = diskFileUpload.parseRequest(request); //Process the uploaded items Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { if (item.getFieldName().equals("forwardAttachments")) { String[] aux = item.getString().split(":"); MailPartObj part = mailInstance.getAttachment(aux[0], aux[1]); attachments.addElement(part); } else { fields.put(item.getFieldName(), item.getString()); } } else { if (!StringUtils.isBlank(item.getName())) { ByteArrayOutputStream baos = null; try { baos = new ByteArrayOutputStream(); IOUtils.copy(item.getInputStream(), baos); MailPartObj part = new MailPartObj(); part.setAttachent(baos.toByteArray()); part.setContentType(item.getContentType()); part.setName(item.getName()); part.setSize(item.getSize()); attachments.addElement(part); } catch (Exception ex) { } finally { IOUtils.closeQuietly(baos); } } } } String body = ""; if (fields.get("taBody") != null) { body = (String) fields.get("taBody"); } else if (fields.get("taReplyBody") != null) { body = (String) fields.get("taReplyBody"); } Preferences preferencesInstance = getPreferencesInstance(request); Send sendInstance = getSendInstance(request); String mid = (String) fields.get("mid"); if (StringUtils.isBlank(mid)) { request.setAttribute("action", "compose"); } else { request.setAttribute("action", "reply"); } Boolean isHtml = null; if (StringUtils.isBlank((String) fields.get("isHtml"))) { isHtml = new Boolean(preferencesInstance.getPreferences().isHtmlMessage()); } else { isHtml = Boolean.valueOf((String) fields.get("isHtml")); } sendInstance.send(mid, Integer.parseInt((String) fields.get("identity")), (String) fields.get("to"), (String) fields.get("cc"), (String) fields.get("bcc"), (String) fields.get("subject"), body, attachments, isHtml.booleanValue(), Charset.defaultCharset().displayName(), (String) fields.get("priority")); } else { errors.add("general", new ActionMessage(ExceptionCode.ERROR_MESSAGES_PREFIX + "mail.send", "The form is null")); request.setAttribute("exception", "The form is null"); request.setAttribute("newLocation", null); doTrace(request, DLog.ERROR, getClass(), "The form is null"); } } catch (Exception ex) { String errorMessage = ExceptionUtilities.parseMessage(ex); if (errorMessage == null) { errorMessage = "NullPointerException"; } errors.add("general", new ActionMessage(ExceptionCode.ERROR_MESSAGES_PREFIX + "general", errorMessage)); request.setAttribute("exception", errorMessage); doTrace(request, DLog.ERROR, getClass(), errorMessage); } finally { } if (errors.isEmpty()) { doTrace(request, DLog.INFO, getClass(), "OK"); return mapping.findForward(Constants.ACTION_SUCCESS_FORWARD); } else { saveErrors(request, errors); return mapping.findForward(Constants.ACTION_FAIL_FORWARD); } }
From source file:gwtuploadsample.server.SampleUploadServlet.java
/** * Override executeAction to save the received files in a custom place * and delete this items from session.//w w w . ja v a 2 s. c o m */ @Override public String executeAction(HttpServletRequest request, List<FileItem> sessionFiles) throws UploadActionException { String response = ""; int cont = 0; for (FileItem item : sessionFiles) { if (false == item.isFormField()) { cont++; try { /// Create a new file based on the remote file name in the client // String saveName = item.getName().replaceAll("[\\\\/><\\|\\s\"'{}()\\[\\]]+", "_"); // File file =new File("/tmp/" + saveName); /// Create a temporary file placed in /tmp (only works in unix) // File file = File.createTempFile("upload-", ".bin", new File("/tmp")); /// Create a temporary file placed in the default system temp folder File file = File.createTempFile("upload-", ".bin"); item.write(file); /// Save a list with the received files receivedFiles.put(item.getFieldName(), file); receivedContentTypes.put(item.getFieldName(), item.getContentType()); /// Compose a xml message with the full file information response += "<file-" + cont + "-field>" + item.getFieldName() + "</file-" + cont + "-field>\n"; response += "<file-" + cont + "-name>" + item.getName() + "</file-" + cont + "-name>\n"; response += "<file-" + cont + "-size>" + item.getSize() + "</file-" + cont + "-size>\n"; response += "<file-" + cont + "-type>" + item.getContentType() + "</file-" + cont + "type>\n"; } catch (Exception e) { throw new UploadActionException(e); } } } /// Remove files from session because we have a copy of them removeSessionFileItems(request); /// Send information of the received files to the client. return "<response>\n" + response + "</response>\n"; }
From source file:com.bbm.common.cmm.web.EgovMultipartResolver.java
/** * multipart? parsing? .//from ww w . j a v a 2 s . c om */ @SuppressWarnings("unchecked") @Override protected MultipartParsingResult parseFileItems(List fileItems, String encoding) { Map multipartFiles = new HashMap(); Map multipartParameters = new HashMap(); // Extract multipart files and multipart parameters. for (Iterator it = fileItems.iterator(); it.hasNext();) { FileItem fileItem = (FileItem) it.next(); if (fileItem.isFormField()) { String value = null; if (encoding != null) { try { value = fileItem.getString(encoding); } catch (UnsupportedEncodingException ex) { if (logger.isWarnEnabled()) { logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + encoding + "': using platform default"); } value = fileItem.getString(); } } else { value = fileItem.getString(); } String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName()); if (curParam == null) { // simple form field multipartParameters.put(fileItem.getFieldName(), new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(fileItem.getFieldName(), newParam); } } else { if (fileItem.getSize() > 0) { // multipart file field CommonsMultipartFile file = new CommonsMultipartFile(fileItem); if (multipartFiles.put(fileItem.getName(), file) != null) { // CHANGED!! throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver"); } if (logger.isDebugEnabled()) { logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename [" + file.getOriginalFilename() + "], stored " + file.getStorageDescription()); } } } } return new MultipartParsingResult(multipartFiles, multipartParameters); }
From source file:com.krawler.svnwebclient.util.Uploader.java
public void doPost(HttpServletRequest request, HttpServletResponse responce, String destinationDirectory, String tempDirectory) throws SessionExpiredException { File tempDir = new File(tempDirectory); String sep = StorageHandler.GetFileSeparator(); if (!tempDir.exists()) { tempDir.mkdirs();//from w w w.j a v a2 s . c o m } DiskFileUpload fu = new DiskFileUpload(); // maximum size before a FileUploadException will be thrown fu.setSizeMax(-1); // maximum size that will be stored in memory fu.setSizeThreshold(4096); // the location for saving data that is larger than getSizeThreshold() fu.setRepositoryPath(tempDirectory); List fileItems = null; try { fileItems = fu.parseRequest(request); } catch (FileUploadException e) { Logger.getInstance(Uploader.class).error(e, e); } String docid1 = null; String docownerid = null; for (Iterator k = fileItems.iterator(); k.hasNext();) { FileItem fi1 = (FileItem) k.next(); try { if (fi1.getFieldName().toString().equals("docid")) { docid1 = new String(fi1.getString().getBytes(), "UTF8"); } if (fi1.getFieldName().toString().equals("docownerid")) { docownerid = new String(fi1.getString().getBytes(), "UTF8"); } } catch (UnsupportedEncodingException e) { // Logger.getInstance(Uploader.class).error(e, e); } } if (docid1.equals("")) { docid1 = UUID.randomUUID().toString(); this.setFlagType(true); docownerid = AuthHandler.getUserid(request); } else { this.setFlagType(false); } try { if (docownerid.equalsIgnoreCase("my")) { docownerid = AuthHandler.getUserid(request); } destinationDirectory = com.krawler.esp.handlers.StorageHandler.GetDocStorePath() + sep + docownerid; } catch (ConfigurationException ex) { this.isUploaded = false; this.errorMessage = "Problem occurred while uploading file"; return; } File destDir = new File(destinationDirectory); if (!destDir.exists()) { destDir.mkdirs(); } this.parameters.put("destinationDirectory", destinationDirectory); for (Iterator i = fileItems.iterator(); i.hasNext();) { FileItem fi = (FileItem) i.next(); /* * try{ String docid1 = fi.getString("docid"); }catch(Exception e){} */ if (fi.isFormField()) { try { if (fi.getFieldName().toString().equals("docid") && new String(fi.getString().getBytes(), "UTF8").equals("")) { this.parameters.put(fi.getFieldName(), docid1); } else { this.parameters.put(fi.getFieldName(), new String(fi.getString().getBytes(), "UTF8")); } } catch (UnsupportedEncodingException e) { Logger.getInstance(Uploader.class).error(e, e); } } else { // filename on the client String fileName = null; try { fileName = new String(fi.getName().getBytes(), "UTF8"); // org.tmatesoft.svn.core.internal.wc.SVNFileUtil.isExecutable(fi); String filext = ""; if (fileName.contains(".")) filext = fileName.substring(fileName.lastIndexOf(".")); if (fi.getSize() != 0) { this.isUploaded = true; // write the file File uploadFile = new File( destinationDirectory + sep + FileUtil.getLastPathElement(docid1 + filext)); fi.write(uploadFile); this.parameters.put("svnName", uploadFile.getName()); if (filext.equals("")) { this.parameters.put("fileExt", filext); } else { this.parameters.put("fileExt", filext.substring(1)); } } else { this.isUploaded = false; this.errorMessage = "Cannot upload a 0 byte file"; } } catch (Exception e) { this.isUploaded = false; this.errorMessage = "Problem occurred while uploading file"; Logger.getInstance(Uploader.class).error(e, e); } this.parameters.put(FormParameters.FILE_NAME, FileUtil.getLastPathElement(fileName)); } } }
From source file:com.krawler.workflow.module.dao.BaseBuilderDao.java
public void parseRequest(HttpServletRequest request, HashMap<String, String> arrParam, ArrayList<FileItem> fi, boolean fileUpload) throws ServiceException { DiskFileUpload fu = new DiskFileUpload(); FileItem fi1 = null; List fileItems = null;//from ww w .j a v a2 s . com try { fileItems = fu.parseRequest(request); } catch (FileUploadException e) { logger.warn(e.getMessage(), e); throw ServiceException.FAILURE("Admin.createUser", e); } for (Iterator k = fileItems.iterator(); k.hasNext();) { fi1 = (FileItem) k.next(); if (fi1.isFormField()) { try { arrParam.put(fi1.getFieldName(), fi1.getString("UTF-8")); } catch (UnsupportedEncodingException e) { logger.error(e.getMessage()); } } else { if (fi1.getSize() != 0) { fi.add(fi1); fileUpload = true; } } } }
From source file:com.krawler.formbuilder.servlet.ModuleBuilderController.java
public Map parseRequest(HttpServletRequest request, List<FileItem> fi) throws ServiceException { Map arrParam = new HashMap(); FileItemFactory factory = new DiskFileItemFactory(4096, new File("/tmp")); ServletFileUpload upload = new ServletFileUpload(factory); upload.setSizeMax(1000000);// ww w . j a v a2 s . co m FileItem fi1 = null; List fileItems = null; try { fileItems = upload.parseRequest(request); } catch (FileUploadException e) { logger.warn(e.getMessage(), e); throw ServiceException.FAILURE("File upload has some problem", e); } for (Iterator k = fileItems.iterator(); k.hasNext();) { fi1 = (FileItem) k.next(); if (fi1.isFormField()) { String key = fi1.getFieldName(); try { if (arrParam.containsKey(key)) { arrParam.put(key, arrParam.get(key) + ", " + fi1.getString("UTF-8")); } else { arrParam.put(fi1.getFieldName(), fi1.getString("UTF-8")); } } catch (UnsupportedEncodingException e) { logger.error(e.getMessage()); } } else { if (fi1.getSize() != 0) { fi.add(fi1); } } } return arrParam; }
From source file:egovframework.com.cmm.web.EgovMultipartResolver.java
/** * multipart? parsing? ./* w ww. ja v a2 s. c o m*/ */ @SuppressWarnings("unchecked") @Override protected MultipartParsingResult parseFileItems(List fileItems, String encoding) { //? 3.0 MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>(); Map<String, String[]> multipartParameters = new HashMap<String, String[]>(); // Extract multipart files and multipart parameters. for (Iterator it = fileItems.iterator(); it.hasNext();) { FileItem fileItem = (FileItem) it.next(); if (fileItem.isFormField()) { String value = null; if (encoding != null) { try { value = fileItem.getString(encoding); } catch (UnsupportedEncodingException ex) { if (logger.isWarnEnabled()) { logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + encoding + "': using platform default"); } value = fileItem.getString(); } } else { value = fileItem.getString(); } String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName()); if (curParam == null) { // simple form field multipartParameters.put(fileItem.getFieldName(), new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(fileItem.getFieldName(), newParam); } } else { if (fileItem.getSize() > 0) { // multipart file field CommonsMultipartFile file = new CommonsMultipartFile(fileItem); //? 3.0 ? API? List<MultipartFile> fileList = new ArrayList<MultipartFile>(); fileList.add(file); if (multipartFiles.put(fileItem.getName(), fileList) != null) { // CHANGED!! throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver"); } if (logger.isDebugEnabled()) { logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename [" + file.getOriginalFilename() + "], stored " + file.getStorageDescription()); } } } } return new MultipartParsingResult(multipartFiles, multipartParameters, null); }