List of usage examples for org.apache.commons.fileupload FileItem getSize
long getSize();
From source file:Controlador.Contr_Evento.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*from www.java2 s . c o m*/ * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*Se detalla el contenido que tendra el servlet*/ response.setContentType("text/html;charset=UTF-8"); request.setCharacterEncoding("UTF-8"); /*Se crea una variable para la sesion*/ HttpSession session = request.getSession(true); boolean b; try { /*Se declaran las variables necesarias*/ Cls_Evento eve = new Cls_Evento(); Cls_Mensajeria sms = new Cls_Mensajeria(); String Codigo = "", Mensaje = "", Nombre = "", Tipo = "", Imagen = "", url, Peti; String urlsalidaimg; urlsalidaimg = "/media/santiago/Santiago/IMGTE/"; //urlsalidaimg = "I:\\IMGTE\\"; String urlimgservidor = this.getServletContext().getRealPath("/Libs/Customs/images/Evento"); /*FileItemFactory es una interfaz para crear FileItem*/ FileItemFactory file_factory = new DiskFileItemFactory(); /*ServletFileUpload esta clase convierte los input file a FileItem*/ ServletFileUpload servlet_up = new ServletFileUpload(file_factory); /*sacando los FileItem del ServletFileUpload en una lista */ List items = servlet_up.parseRequest(request); Iterator it = items.iterator(); /*Se evalua cada una de las posibles peticiones y los posibles campos que envien*/ while (it.hasNext()) { FileItem item = (FileItem) it.next(); if (item.isFormField()) { //Plain request parameters will come here. String name = item.getFieldName(); if (name.equals("Creador")) { /*Se guarda el campo en la clase*/ eve.setCreador(item.getString()); } else if (name.equals("Nombre")) { /*Se guarda el campo en la clase*/ eve.setNombre(item.getString()); } else if (name.equals("Codigo")) { /*Se guarda el campo en la clase*/ eve.setCodigo(item.getString()); } else if (name.equals("Rango")) { /*Se guarda el campo en la clase*/ eve.setRango(item.getString()); } else if (name.equals("Rangomaximo")) { /*Se guarda el campo en la clase*/ eve.setRangoMaximo(item.getString()); } else if (name.equals("Fecha")) { /*Se guarda el campo en la clase*/ eve.setFecha(item.getString()); } else if (name.equals("Descripcion")) { /*Se guarda el campo en la clase*/ eve.setDescipcion(item.getString()); } else if (name.equals("Ciudad")) { /*Se guarda el campo en la clase*/ eve.setCiudad(item.getString()); } else if (name.equals("Direccion")) { /*Se guarda el campo en la clase*/ eve.setDireccion(item.getString()); } else if (name.equals("Motivo")) { /*Se guarda el campo en la clase*/ eve.setMotivo(item.getString()); } else if (name.equals("Latitud")) { /*Se guarda el campo en la clase*/ eve.setLatitud(item.getString()); } else if (name.equals("Longitud")) { /*Se guarda el campo en la clase*/ eve.setLongitud(item.getString()); } else if (name.equals("RegistrarEvento")) { /*Se convierte la fecha a date*/ if (eve.ConvertirFecha(eve.getFecha())) { /*Se evalua si la fecha tiene dos dias mas a la fecha de hoy*/ if (eve.ValidarDosDiasFecha(eve.getFechaDate())) { /*Se evalua si se mando una iamgen*/ if (!eve.getImagen().equals("")) { /*Si se envia una imagen obtiene la imagen para eliminarla luego*/ File img = new File(eve.getImagen()); /*Se ejecuta el metodo de registrar evento, en la clase modelo con los datos que se encuentran en la clase*/ String rangoprecios = eve.getRango() + "-" + eve.getRangoMaximo(); b = eve.setRegistrarEvento(eve.getTypeimg(), eve.getNombre(), eve.getFechaDate(), eve.getDescipcion(), rangoprecios, eve.getCreador(), eve.getCiudad(), eve.getDireccion(), eve.getLatitud(), eve.getLongitud()); if (b) { File imagedb = new File( urlimgservidor + "/" + eve.getCodigo() + eve.getTypeimg()); img.renameTo(imagedb); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se registro el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); response.sendRedirect( "View/RClasificacionEvento.jsp?CodigoEvento=" + eve.getCodigo()); } else { img.delete(); /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", eve.getMensaje()); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Seleccione una imagen para registrar el evento"); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "No se puede registrar un evento que inicie antes de dos das"); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Ocurri un problema inesperado con la fecha del evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); response.sendRedirect("View/RegistrarEvento.jsp"); } } else if (name.equals("DesactivarEvento")) { if (eve.validar_Cancelar_Evento_Un_Dia(eve.getCodigo())) { /*Se ejecuta el metodo de desaprobar evento, en la clase modelo con los datos que se encuentran en la clase*/ if (eve.setDesaprobarEvento(eve.getCodigo(), eve.getMotivo())) { String[] Datos = eve.BuscarEventoParaMensaje(eve.getCodigo()); if (sms.EnviarMensajeCambioEstadoEvento(Datos, "Desaprobado", eve.getMotivo())) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se cancel el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se cancel el evento, pero no se logr enviar la notificacin al correo electrnico de la empresa."); session.setAttribute("TipoMensaje", "NODio"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Ocurri un error al cancelar el evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); } } else { session.setAttribute("Mensaje", "No se puede cancelar un evento antes de un da de su inicio. Lo lamentamos."); session.setAttribute("TipoMensaje", "NODio"); } response.sendRedirect("View/CEventoPendiente.jsp"); } else if (name.equals("DesactivarEventoAdmin")) { if (eve.validar_Cancelar_Evento_Un_Dia(eve.getCodigo())) { /*Se ejecuta el metodo de desaprobar evento, en la clase modelo con los datos que se encuentran en la clase(administradir)*/ if (eve.setDesaprobarEvento(eve.getCodigo(), eve.getMotivo())) { String[] Datos = eve.BuscarEventoParaMensaje(eve.getCodigo()); if (sms.EnviarMensajeCambioEstadoEvento(Datos, "Desaprobado", eve.getMotivo())) { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se desaprob el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Se desaprob el evento, pero no se logr enviar la notificacin al correo electrnico de la empresa."); session.setAttribute("TipoMensaje", "NODio"); } } else { /*Se guarda un mensaje mediante las sesiones y se redirecciona*/ session.setAttribute("Mensaje", "Ocurri un error al desaprobar el evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); } } else { session.setAttribute("Mensaje", "No se puede cancelar un evento antes de un da de su inicio. Lo lamentamos."); session.setAttribute("TipoMensaje", "NODio"); } response.sendRedirect("View/ConsultaTodosEventos.jsp"); } else if (name.equals("DesactivarEventoEmpresa")) { if (eve.validar_Cancelar_Evento_Un_Dia(eve.getCodigo())) { /*Se ejecuta el metodo de desaprobar evento, en la clase modelo con los datos que se encuentran en la clase(Empresa)*/ if (eve.setCancelarEvento(eve.getCodigo(), eve.getMotivo())) { session.setAttribute("Mensaje", "Se cancel el evento satisfactoriamente."); session.setAttribute("TipoMensaje", "Dio"); } else { session.setAttribute("Mensaje", "Ocurri un error al cancelar el evento. Estamos trabajando para solucionar este problema."); session.setAttribute("TipoMensaje", "NODio"); } } else { session.setAttribute("Mensaje", "No se puede cancelar un evento antes de un da de su inicio. Lo lamentamos."); session.setAttribute("TipoMensaje", "NODio"); } response.sendRedirect("View/MisEventos.jsp"); } } else { if (!item.getName().equals("")) { //uploaded files will come here. FileItem file = item; String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); if (sizeInBytes > 1000000) { /*Se muestra un mensaje en caso de pesar mas de 3 MB*/ session.setAttribute("Mensaje", "El tamao lmite de la imagen es: 1 MB"); session.setAttribute("TipoMensaje", "NODio"); /*Se redirecciona*/ response.sendRedirect("View/ConsultaSeleccion.jsp"); } else { if (contentType.indexOf("jpeg") > 0 || contentType.indexOf("png") > 0) { if (contentType.indexOf("jpeg") > 0) { contentType = ".jpg"; } else { contentType = ".png"; } /*Se crea la imagne*/ File archivo_server = new File(urlimgservidor + "/" + item.getName()); /*Se guardael url de la imagen en la clase*/ eve.setImagen(urlimgservidor + "/" + item.getName()); eve.setTypeimg(contentType); /*Se guarda la imagen*/ item.write(archivo_server); } else { session.setAttribute("Mensaje", "Solo se pueden registrar imagenes JPG o PNG"); session.setAttribute("TipoMensaje", "NODio"); } } } else { /** * Se guardael url de la imagen en la clase */ eve.setImagen(""); } } } response.sendRedirect("View/index.jsp"); } catch (FileUploadException ex) { System.out.print(ex.getMessage().toString()); } catch (Exception ex) { Logger.getLogger(Contr_Seleccion.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:net.sourceforge.stripes.controller.multipart.CommonsMultipartWrapper.java
/** * Responsible for constructing a FileBean object for the named file parameter. If there is no * file parameter with the specified name this method should return null. * * @param name the name of the file parameter * @return a FileBean object wrapping the uploaded file *///from ww w . j a v a 2s . c om public FileBean getFileParameterValue(String name) { final FileItem item = this.files.get(name); if (item == null || ((item.getName() == null || item.getName().length() == 0) && item.getSize() == 0)) { return null; } else { // Attempt to ensure the file name is just the basename with no path included String filename = item.getName(); int index; if (WINDOWS_PATH_PREFIX_PATTERN.matcher(filename).find()) index = filename.lastIndexOf('\\'); else index = filename.lastIndexOf('/'); if (index >= 0 && index + 1 < filename.length() - 1) filename = filename.substring(index + 1); // Use an anonymous inner subclass of FileBean that overrides all the // methods that rely on having a File present, to use the FileItem // created by commons upload instead. return new FileBean(null, item.getContentType(), filename, this.charset) { @Override public long getSize() { return item.getSize(); } @Override public InputStream getInputStream() throws IOException { return item.getInputStream(); } @Override public void save(File toFile) throws IOException { try { item.write(toFile); delete(); } catch (Exception e) { if (e instanceof IOException) throw (IOException) e; else { IOException ioe = new IOException("Problem saving uploaded file."); ioe.initCause(e); throw ioe; } } } @Override public void delete() throws IOException { item.delete(); } }; } }
From source file:net.sourceforge.subsonic.controller.ImportPlaylistController.java
@Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { Map<String, Object> map = new HashMap<String, Object>(); try {/*from ww w . j a va2 s . c o m*/ if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List<?> items = upload.parseRequest(request); for (Object o : items) { FileItem item = (FileItem) o; if ("file".equals(item.getFieldName()) && !StringUtils.isBlank(item.getName())) { if (item.getSize() > MAX_PLAYLIST_SIZE_MB * 1024L * 1024L) { throw new Exception("The playlist file is too large. Max file size is " + MAX_PLAYLIST_SIZE_MB + " MB."); } String playlistName = FilenameUtils.getBaseName(item.getName()); String fileName = FilenameUtils.getName(item.getName()); String format = StringUtils.lowerCase(FilenameUtils.getExtension(item.getName())); String username = securityService.getCurrentUsername(request); Playlist playlist = playlistService.importPlaylist(username, playlistName, fileName, format, item.getInputStream()); map.put("playlist", playlist); } } } } catch (Exception e) { map.put("error", e.getMessage()); } ModelAndView result = super.handleRequestInternal(request, response); result.addObject("model", map); return result; }
From source file:net.unicon.warlock.portlet.RequestReader.java
private static Map readMultipartContent(ActionRequest req) throws WarlockException { // Assertions. if (req == null) { String msg = "Argument 'req' cannot be null."; throw new IllegalArgumentException(msg); }/* w w w. j a va 2 s. c o m*/ Map rslt = new HashMap(); try { // Read the boundry marker. int index = req.getContentType().indexOf("boundary="); if (index < 0) { String msg = "Unable to locate multipart boundry."; throw new WarlockException(msg); } byte[] boundary = req.getContentType().substring(index + 9).getBytes(); // Read the InputStream. InputStream input = req.getPortletInputStream(); MultipartStream multi = new MultipartStream(input, boundary); multi.setHeaderEncoding(req.getCharacterEncoding()); // ...necessary? boolean hasMoreParts = multi.skipPreamble(); while (hasMoreParts) { Map headers = parseHeaders(multi.readHeaders()); String fieldName = getFieldName(headers); if (fieldName != null) { String subContentType = (String) headers.get("Content-type".toLowerCase()); if (subContentType != null && subContentType.startsWith("multipart/mixed")) { throw new UnsupportedOperationException("Multiple-file request fields not supported."); /* let's see if we need this... // Multiple files. byte[] subBoundary = subContentType.substring(subContentType.indexOf("boundary=") + 9).getBytes(); multi.setBoundary(subBoundary); boolean nextSubPart = multi.skipPreamble(); while (nextSubPart) { headers = parseHeaders(multi.readHeaders()); if (getFileName(headers) != null) { FileItem item = createItem(headers, false); OutputStream os = item.getOutputStream(); try { multi.readBodyData(os); } finally { os.close(); } rslt.add(item.getFieldName(), item.getInputStream()); } else { // Ignore anything but files inside // multipart/mixed. multi.discardBodyData(); } nextSubPart = multi.readBoundary(); } multi.setBoundary(boundary); */ } else { if (getFileName(headers) != null) { // A single file. FileItem item = fac.createItem(getFieldName(headers), (String) headers.get("Content-type".toLowerCase()), false, getFileName(headers)); OutputStream os = item.getOutputStream(); try { multi.readBodyData(os); } finally { os.close(); } String path = item.getName().replace('\\', '/'); String[] tokens = path.split("/"); FileUpload fu = new FileUpload(tokens[tokens.length - 1], item.getSize(), item.getInputStream(), item.getContentType()); rslt.put(item.getFieldName(), new FileUpload[] { fu }); } else { // A form field. FileItem item = fac.createItem(getFieldName(headers), (String) headers.get("Content-type".toLowerCase()), true, null); OutputStream os = item.getOutputStream(); try { multi.readBodyData(os); } finally { os.close(); } List newEntry = new ArrayList(); if (rslt.get(item.getFieldName()) != null) { String[] oldEntry = (String[]) rslt.get(item.getFieldName()); newEntry.addAll(Arrays.asList(oldEntry)); } newEntry.add(item.getString()); rslt.put(item.getFieldName(), newEntry.toArray(new String[0])); } } } else { // Skip this part. multi.discardBodyData(); } hasMoreParts = multi.readBoundary(); } } catch (Throwable t) { String msg = "Unable to process multipart form data."; throw new WarlockException(msg, t); } return rslt; }
From source file:neu.edu.lab08.HomeController.java
@RequestMapping(value = "/createpatient", method = RequestMethod.POST) public String createpatient(Model model, HttpServletRequest request, HttpServletResponse response) throws Exception { // String name = request.getParameter("name"); // String gender = (request.getParameter("gender")); // String dob = request.getParameter("dob"); // String insurance= request.getParameter("insurance"); // Integer amount = Integer.parseInt(request.getParameter("amount")); HttpSession session = request.getSession(); String username = (String) session.getAttribute("username"); String name = (String) session.getAttribute("name"); String gender = (String) session.getAttribute("gender"); String dob = (String) session.getAttribute("dob"); String insurance = (String) session.getAttribute("insurance"); Integer amount = (Integer) session.getAttribute("amount"); Session hibernateSession = HibernateUtil.getSessionFactory().openSession(); hibernateSession.beginTransaction(); String fileName = null;/* www . java 2 s. c o m*/ File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; String filePath = "/Users/mengqingwang/Downloads/lab08/src/main/webapp/resources/picture"; // ? String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { DiskFileItemFactory factory = new DiskFileItemFactory(); // factory.setSizeThreshold(maxMemSize); // ? maxMemSize. factory.setRepository(new File("c:\\temp")); // ?? ServletFileUpload upload = new ServletFileUpload(factory); // ? upload.setSizeMax(maxFileSize); try { // ?? List fileItems = upload.parseRequest(request); // ? Iterator i = fileItems.iterator(); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (!fi.isFormField()) { // ?? String fieldName = fi.getFieldName(); fileName = fi.getName(); //String fileNamePath = "\\images\\"+fileName; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // 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); } } } catch (Exception ex) { System.out.println(ex); } if (insurance.equals("Insured")) { InsuredPatient ip = new InsuredPatient(); ip.setName(name); ip.setGender(gender); ip.setDob(dob); ip.setPatienttype(insurance); ip.setPicture(fileName); ip.setHospital(username); ip.setInsuredamount(amount); ip.setStatus(1); hibernateSession.save(ip); hibernateSession.getTransaction().commit(); } else if (insurance.equals("Uninsured")) { UninsuredPatient up = new UninsuredPatient(); up.setName(name); up.setGender(gender); up.setDob(dob); up.setPatienttype(insurance); up.setPicture(fileName); up.setHospital(username); up.setAccount(amount); up.setStatus(1); hibernateSession.save(up); hibernateSession.getTransaction().commit(); } } return "hospitalMenu"; }
From source file:nextapp.echo2.webcontainer.filetransfer.JakartaCommonsFileUploadProvider.java
/** * @see nextapp.echo2.webcontainer.filetransfer.MultipartUploadSPI#updateComponent(nextapp.echo2.webrender.Connection, * nextapp.echo2.app.filetransfer.UploadSelect) *///from w ww . j a v a 2 s.c o m public void updateComponent(Connection conn, UploadSelect uploadSelect) throws IOException, ServletException { DiskFileUpload handler = null; HttpServletRequest request = null; List items = null; Iterator it = null; FileItem item = null; boolean searching = true; InputStream in = null; int size = 0; String contentType = null; String name = null; try { handler = new DiskFileUpload(); handler.setSizeMax(getFileUploadSizeLimit()); handler.setSizeThreshold(getMemoryCacheThreshold()); handler.setRepositoryPath(getDiskCacheLocation().getCanonicalPath()); request = conn.getRequest(); items = handler.parseRequest(request); searching = true; it = items.iterator(); while (it.hasNext() && searching) { item = (FileItem) it.next(); if (UploadFormService.FILE_PARAMETER_NAME.equals(item.getFieldName())) { in = item.getInputStream(); size = (int) item.getSize(); contentType = item.getContentType(); name = item.getName(); File tempFile = writeTempFile(in, uploadSelect); UploadEvent uploadEvent = new UploadEvent(tempFile, size, contentType, name); UploadSelectPeer.activateUploadSelect(uploadSelect, uploadEvent); searching = false; } } } catch (FileUploadException e) { throw new IOException(e.getMessage()); } }
From source file:ngse.org.FileUploadServlet.java
static protected String FileUpload(Map<String, String> fields, List<String> filesOnServer, HttpServletRequest request, HttpServletResponse response) { boolean isMultipart = ServletFileUpload.isMultipartContent(request); // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); int MaxMemorySize = 200000000; int MaxRequestSize = MaxMemorySize; String tmpDir = System.getProperty("TMP", "/tmp"); factory.setSizeThreshold(MaxMemorySize); factory.setRepository(new File(tmpDir)); ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("utf8"); upload.setSizeMax(MaxRequestSize);/*from w w w . j av a 2s. c o m*/ try { List<FileItem> items = upload.parseRequest(request); // Process the uploaded items Iterator<FileItem> iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); if (item.isFormField()) {//k -v String name = item.getFieldName(); String value = item.getString("utf-8"); fields.put(name, value); } else { String fieldName = item.getFieldName(); String fileName = item.getName(); if (fileName == null || fileName.length() < 1) { return "file name is empty."; } String localFileName = ServletConfig.fileServerRootDir + File.separator + "tmp" + File.separator + fileName; String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); File uploadedFile = new File(localFileName); item.write(uploadedFile); filesOnServer.add(localFileName); } } return "success"; } catch (FileUploadException e) { e.printStackTrace(); return e.getMessage(); } catch (Exception e) { e.printStackTrace(); return e.getMessage(); } }
From source file:ngse.org.FileUploadTool.java
static public String FileUpload(Map<String, String> fields, List<String> filesOnServer, HttpServletRequest request, HttpServletResponse response) { boolean isMultipart = ServletFileUpload.isMultipartContent(request); // Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); int MaxMemorySize = 10000000; int MaxRequestSize = MaxMemorySize; String tmpDir = System.getProperty("TMP", "/tmp"); System.out.printf("temporary directory:%s", tmpDir); // Set factory constraints factory.setSizeThreshold(MaxMemorySize); factory.setRepository(new File(tmpDir)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); upload.setHeaderEncoding("utf8"); // Set overall request size constraint upload.setSizeMax(MaxRequestSize);/* w w w . jav a 2s . com*/ // Parse the request try { List<FileItem> items = upload.parseRequest(request); // Process the uploaded items Iterator<FileItem> iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); if (item.isFormField()) {//k -v String name = item.getFieldName(); String value = item.getString("utf-8"); fields.put(name, value); } else { String fieldName = item.getFieldName(); String fileName = item.getName(); if (fileName == null || fileName.length() < 1) { return "file name is empty."; } String localFileName = ServletConfig.fileServerRootDir + File.separator + "tmp" + File.separator + fileName; System.out.printf("upload file:%s", localFileName); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); File uploadedFile = new File(localFileName); item.write(uploadedFile); filesOnServer.add(localFileName); } } return "success"; } catch (FileUploadException e) { e.printStackTrace(); return e.toString(); } catch (Exception e) { e.printStackTrace(); return e.toString(); } }
From source file:nl.armatiek.xslweb.serializer.RequestSerializer.java
private void serializeFileUploads(List<FileItem> fileItems) throws Exception { if (!hasItems(fileItems, false)) { return;/*from ww w . ja va 2 s . co m*/ } Iterator<FileItem> iter = fileItems.iterator(); if (iter.hasNext()) { xsw.writeStartElement(URI, "file-uploads"); while (iter.hasNext()) { FileItem item = iter.next(); if (!item.isFormField() && StringUtils.isNotBlank(item.getName())) { String fileName = item.getName(); File file = new File(reposDir, fileName); xsw.writeStartElement(URI, "file-upload"); dataElement(xsw, URI, "file-path", file.getAbsolutePath()); dataElement(xsw, URI, "field-name", item.getFieldName()); dataElement(xsw, URI, "file-name", item.getName()); dataElement(xsw, URI, "content-type", item.getContentType()); dataElement(xsw, URI, "size", Long.toString(item.getSize())); xsw.writeEndElement(); item.write(file); } } xsw.writeEndElement(); } }
From source file:org.activiti.rest.api.identity.UserPictureResource.java
@Put public void updateUserPicture(Representation representation) { User user = getUserFromRequest();//w w w. j ava 2 s .co m if (!MediaType.MULTIPART_FORM_DATA.isCompatible(representation.getMediaType())) { throw new ResourceException(Status.CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE.getCode(), "The request should be of type 'multipart/form-data'.", null, null); } RestletFileUpload upload = new RestletFileUpload(new DiskFileItemFactory()); try { FileItem uploadItem = null; List<FileItem> items = upload.parseRepresentation(representation); String mimeType = MediaType.IMAGE_JPEG.toString(); for (FileItem fileItem : items) { if (fileItem.isFormField()) { if ("mimeType".equals(fileItem.getFieldName())) { mimeType = fileItem.getString("UTF-8"); } } else if (fileItem.getName() != null) { uploadItem = fileItem; } } if (uploadItem == null) { throw new ActivitiIllegalArgumentException("No file content was found in request body."); } int size = ((Long) uploadItem.getSize()).intValue(); // Copy file-body in a bytearray as the engine requires this ByteArrayOutputStream bytesOutput = new ByteArrayOutputStream(size); IOUtils.copy(uploadItem.getInputStream(), bytesOutput); Picture newPicture = new Picture(bytesOutput.toByteArray(), mimeType); ActivitiUtil.getIdentityService().setUserPicture(user.getId(), newPicture); } catch (FileUploadException e) { throw new ActivitiException("Error with uploaded file: " + e.getMessage(), e); } catch (IOException e) { throw new ActivitiException("Error while reading uploaded file: " + e.getMessage(), e); } }