Example usage for org.apache.commons.fileupload FileItem getSize

List of usage examples for org.apache.commons.fileupload FileItem getSize

Introduction

In this page you can find the example usage for org.apache.commons.fileupload FileItem getSize.

Prototype

long getSize();

Source Link

Document

Returns the size of the file item.

Usage

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);
    }
}