Example usage for org.apache.commons.fileupload.disk DiskFileItemFactory DiskFileItemFactory

List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory DiskFileItemFactory

Introduction

In this page you can find the example usage for org.apache.commons.fileupload.disk DiskFileItemFactory DiskFileItemFactory.

Prototype

public DiskFileItemFactory() 

Source Link

Document

Constructs an unconfigured instance of this class.

Usage

From source file:controller.uploadPergunta9ArquivoAjuste.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.//from   www  .  j a v a2 s .  co m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    String idLocal = (String) request.getParameter("idLocal");
    String expressaoModelo = (String) request.getParameter("expressaoModelo");
    String nomeAutorModelo = (String) request.getParameter("nomeAutorModelo");

    String name = "";
    //process only if its multipart content
    if (ServletFileUpload.isMultipartContent(request)) {
        try {
            List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);

            for (FileItem item : multiparts) {
                if (!item.isFormField()) {
                    name = new File(item.getName()).getName();
                    //                        item.write( new File(UPLOAD_DIRECTORY + File.separator + name));
                    item.write(new File(AbsolutePath + File.separator + name));
                }
            }

            //File uploaded successfully
            request.setAttribute("message", "File Uploaded Successfully");
        } catch (Exception ex) {
            request.setAttribute("message", "File Upload Failed due to " + ex);
        }

    } else {
        request.setAttribute("message", "Sorry this Servlet only handles file upload request");
    }
    expressaoModelo = expressaoModelo.replace("+", "%2B");
    RequestDispatcher view = getServletContext()
            .getRequestDispatcher("/novoLocalPergunta9?id=" + idLocal + "&nomeArquivoAjuste=" + name
                    + "&expressaoModelo=" + expressaoModelo + "&nomeAutorModelo=" + nomeAutorModelo);
    view.forward(request, response);

    //        request.getRequestDispatcher("/novoLocalPergunta3?id="+idLocal+"&fupload=1&nomeArquivo="+name).forward(request, response);
    // request.getRequestDispatcher("/novoLocalPergunta4?id="+idLocal+"&nomeArquivo="+name).forward(request, response);

}

From source file:com.shyslav.controller.UploadController.java

@RequestMapping(value = "/uploadAction")
private String uploadAction(ModelMap mv, RedirectAttributes redirectAttributes, HttpSession ses,
        HttpServletRequest request) throws URISyntaxException {
    String name = null;/*from ww w  . j av  a2 s .  c o  m*/
    String genre = null;
    String author = null;
    String smallText = null;
    String fullText = null;
    String vision = null;
    String serverPath = null;
    Properties props = new Properties();
    try (InputStream in = UploadController.class.getResourceAsStream("application.properties")) {
        props.load(in);
    } catch (IOException ex) {
        System.out.println(ex);
    }
    DiskFileItemFactory d = new DiskFileItemFactory();
    ServletFileUpload uploadre = new ServletFileUpload(d);
    System.out.println(props.getProperty("downloadDirectory"));
    try {
        List<FileItem> list = uploadre.parseRequest(request);
        for (FileItem f : list) {
            if (f.isFormField() == false) {
                //write file to upload folder;

                if (!FilenameUtils.getExtension(f.getName()).equals("pdf")) {
                    String ext = FilenameUtils.getExtension(f.getName());
                    System.out.println(ext);
                    System.out.println("comed");
                    redirectAttributes.addFlashAttribute("error",
                            "?   ? , ?  pdf");
                    return "redirect:add.htm";
                }
                serverPath = "/" + author + "_" + name + "_" + genre + "_" + Math.random() * 100 + "."
                        + FilenameUtils.getExtension(f.getName());
                f.write(new File(props.getProperty("downloadDirectory") + serverPath));
                System.out.println(f.getName());
            } else if (f.isFormField()) {
                String fieldname = f.getFieldName();
                if (fieldname.equals("name")) {
                    name = f.getString("UTF-8");
                } else if (fieldname.equals("genre")) {
                    genre = f.getString("UTF-8");
                } else if (fieldname.equals("author")) {
                    author = f.getString("UTF-8");
                } else if (fieldname.equals("smallText")) {
                    smallText = f.getString("UTF-8");
                } else if (fieldname.equals("fullText")) {
                    fullText = f.getString("UTF-8");
                } else if (fieldname.equals("vision")) {
                    vision = f.getString("UTF-8");
                }
                System.out.println(f.getFieldName().toString());
            }
        }
    } catch (Exception ex) {
        System.out.println(ex);
    }
    if (name == null || genre == null || author == null || smallText == null || fullText == null
            || vision == null || smallText.length() < 30 || fullText.length() < 50 || name.length() < 3) {
        redirectAttributes.addFlashAttribute("error",
                "? ? ?  ");
        return "redirect:add.htm";
    }
    try {
        Session session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        Query query = session.createSQLQuery("INSERT INTO books\n"
                + "(name, author, genre, small_text, full_text, date_create, vision, server_Path)\n"
                + "VALUES('" + name + "', '" + author + "', " + genre + ", '" + smallText + "', '" + fullText
                + "', NOW(), '" + vision + "','" + serverPath + "')");
        System.out.println(query.toString());
        int result = query.executeUpdate();
        session.getTransaction().commit();
    } catch (Exception ex) {
        System.out.println(ex);
    }
    redirectAttributes.addFlashAttribute("sucses", " ? ");
    return "redirect:index.htm";
}

From source file:controlador.SerCandidato.java

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    //ruta relativa en donde se guardan las fotos de candidatos
    String ruta = getServletContext().getRealPath("/") + "images/files/candidatos/";
    //Partido p = new Partido();
    Candidato c = new Candidato();
    int accion = 1; //1=gregar  2=modificar
    if (ServletFileUpload.isMultipartContent(request)) {
        FileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload upload = new ServletFileUpload(factory);
        DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
        diskFileItemFactory.setSizeThreshold(40960);
        File repositoryPath = new File("/temp");
        diskFileItemFactory.setRepository(repositoryPath);
        ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
        servletFileUpload.setSizeMax(81920); // bytes
        upload.setSizeMax(307200); // 1024 x 300 = 307200 bytes = 300 Kb
        List listUploadFiles = null;
        FileItem item = null;/* w w w.j  a  v  a2  s  .  c om*/
        try {
            listUploadFiles = upload.parseRequest(request);
            Iterator it = listUploadFiles.iterator();
            while (it.hasNext()) {
                item = (FileItem) it.next();
                if (!item.isFormField()) {
                    if (item.getSize() > 0) {
                        String nombre = item.getName();
                        String tipo = item.getContentType();
                        long tamanio = item.getSize();
                        String extension = nombre.substring(nombre.lastIndexOf("."));
                        File archivo = new File(ruta, nombre);
                        item.write(archivo);
                        if (archivo.exists()) {
                            c.setFoto(nombre);
                        } else {
                            out.println("FALLO AL GUARDAR. NO EXISTE " + archivo.getAbsolutePath() + "</p>");
                        }
                    }
                } else {
                    //se reciben los campos de texto enviados y se igualan a los atributos del objeto
                    if (item.getFieldName().equals("slPartido")) {
                        c.setIdPartido(Integer.parseInt(item.getString()));
                    }
                    if (item.getFieldName().equals("slDepartamento")) {
                        c.setIdDepartamento(Integer.parseInt(item.getString()));
                    }
                    if (item.getFieldName().equals("txtDui")) {
                        c.setNumDui(item.getString());
                    }
                    if (item.getFieldName().equals("txtId")) {
                        c.setIdCandidato(Integer.parseInt(item.getString()));
                    }
                    if (item.getFieldName().equals("txtTipo")) {
                        //definimos que el candidato es tipo 1 (Partidario)
                        c.setTipo(Integer.parseInt(item.getString()));
                    }

                }
            }
            //si no se selecciono una imagen distinta, se conserva la imagen anterior
            if (c.getFoto() == null) {
                c.setFoto(CandidatoDTO.mostrarCandidato(c.getIdCandidato()).getFoto());
            }

            //cuando se presiona el boton de agregar
            if (c.getIdCandidato() == 0) {
                if (CandidatoDTO.agregarCandidato(c)) {
                    //candidato partidario = 1
                    //candidato independiente = 2
                    if (c.getTipo() == 1) {
                        //crud de canidatos partidadios
                        response.sendRedirect(this.redireccionJSP);
                    } else {
                        //crud de canidatos independientes
                        response.sendRedirect(this.redireccionJSP2);
                    }
                } else {
                    //cambiar por alguna accion en caso de error
                    out.print("Error al insertar");
                }
            } //cuando se presiona el boton de modificar
            else {
                if (CandidatoDTO.modificarCandidato(c)) {
                    if (c.getTipo() == 1) {
                        //crud de canidatos partidadios
                        response.sendRedirect(this.redireccionJSP);
                    } else {
                        //crud de canidatos independientes
                        response.sendRedirect(this.redireccionJSP2);
                    }
                } else {
                    out.print("Error al modificar");
                }
            }

        } catch (FileUploadException e) {
            out.println("Error Upload: " + e.getMessage());
            e.printStackTrace();
        } catch (Exception e) {
            out.println("Error otros: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

From source file:com.college.AddAdditionalMarksheet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  w  w  w.ja v a  2  s . c o  m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();

    try {

        String certificateName = request.getParameter("certificateName");

        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
        ps = con.prepareStatement("insert into certificate (studentId, certificate) values (?,?)");

        DiskFileItemFactory factory = new DiskFileItemFactory();

        ServletFileUpload sfu = new ServletFileUpload(factory);
        List items = sfu.parseRequest(request);

        Iterator iter = items.iterator();
        byte[] certificate = null;

        while (iter.hasNext()) {
            FileItem item = (FileItem) iter.next();

            byte[] blobValue = item.get();
            if (blobValue != null && blobValue.length > 0) {
                String fieldName = item.getFieldName();

                if (!item.isFormField()) { //This if clause is for images.
                    if ("certificate".equalsIgnoreCase(fieldName)) {
                        certificate = blobValue;
                    }

                    // you can add more clauses here.
                } else { // This else clause if for other fields.
                    String fieldValue = new String(blobValue);
                    if (item.getFieldName() != null) {
                        if ("studentId".equalsIgnoreCase(fieldName)) {
                            studentId = fieldValue;
                        } else if ("studentName".equalsIgnoreCase(fieldName)) {
                            studentName = fieldValue;
                        }

                        // add more fields here.
                    }
                }
            }
        }

        ps.setString(1, studentId);
        ps.setBytes(2, certificate);

        int i = ps.executeUpdate();
        if (i != 0) {
            out.println("Success");
            response.sendRedirect(
                    "additionalMarksheetForm.jsp?studentName=" + studentName + "&studentId=" + studentId);
            out.println("Success");
        } else {
            out.println("Failed");
        }
    } catch (Exception ex) {
        out.println(ex);
    } finally {
        out.close();
    }
}

From source file:com.sa.osgi.jetty.UploadServlet.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  ww  w.ja  v  a  2s  .  c  o m*/
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    // Check that we have a file upload request
    boolean isMultipart = ServletFileUpload.isMultipartContent(request);

    if (isMultipart) {
        // Create a factory for disk-based file items
        DiskFileItemFactory factory = new DiskFileItemFactory();

        // Configure a repository (to ensure a secure temp location is used)
        ServletContext servletContext = this.getServletConfig().getServletContext();
        String ss = servletContext.getInitParameter("javax.servlet.context.tempdir");
        File repository = new File("/tmp");//(File) servletContext.getAttribute("javax.servlet.context.tempdir");
        factory.setRepository(repository);
        System.out.println("context var: " + ss);

        // Create a new file upload handler
        ServletFileUpload upload = new ServletFileUpload(factory);

        try {
            // Parse the request
            List<FileItem> items = upload.parseRequest(request);
            Iterator<FileItem> iter = items.iterator();
            while (iter.hasNext()) {
                FileItem item = iter.next();

                if (item.isFormField()) {
                    //                    processFormField(item);
                } else {
                    processUploadedFile(item);
                }
            }
        } catch (FileUploadException ex) {
            Logger.getLogger(UploadServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    response.sendRedirect("/welcome");

    //        RequestDispatcher dis = request.getRequestDispatcher("/welcome");
    //        dis.forward(request, response);

}

From source file:controller.CreateProduct.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods./*from  ww  w . ja v  a  2s. c om*/
 *
 * @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 {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    MultipartRequest mr = new MultipartRequest(request,
            "C:/Users/Randy/Documents/NetBeansProjects/Override/web/imagesProducts/");
    try {
        //Clases
        model.business.Producto p = new model.business.Producto();
        model.dal.ProductoDal productoDal = new ProductoDal();

        //Se usa este Request cuando se tiene  enctype="multipart/form-data" (Importar JAR)

        /*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);

        for (int i = 0; i < items.size(); i++) {
            /*FileItem representa un archivo en memoria que puede ser pasado al disco duro*/
            FileItem item = (FileItem) items.get(i);
            /*item.isFormField() false=input file; true=text field*/
            if (!item.isFormField()) {
                /*cual sera la ruta al archivo en el servidor*/

                File archivo_server = new File(
                        "C:/Users/Randy/Documents/NetBeansProjects/Override/web/imagesProducts/"
                                + item.getName());
                /*y lo escribimos en el servido*/
                item.write(archivo_server);
            }
        }

        //Set
        p.setIdProducto(Integer.parseInt(mr.getParameter("txt_id_producto")));
        p.setNombreProducto(mr.getParameter("txt_nombre_producto"));
        p.setPrecioUnitario(Integer.parseInt(mr.getParameter("txt_precio")));
        p.setStock(Integer.parseInt(mr.getParameter("txt_stock")));
        p.setDescripcion(mr.getParameter("txt_descripcion"));
        p.getTipoProducto().setIdTipoProducto(Integer.parseInt(mr.getParameter("ddl_lista_tipo_producto")));
        p.getMarca().setIdMarca(Integer.parseInt(mr.getParameter("ddl_marca_producto")));
        //Recoge el NOMBRE del file
        p.setUrlFoto(mr.getFilesystemName("file"));
        p.setEstado(Integer.parseInt(mr.getParameter("rbtn_estado")));

        //Registro BD
        int resultado = productoDal.insertProduct(p);
        switch (resultado) {
        case 1:
            //out.print("Registro OK");
            //Pagina Redirrecion
            request.getRequestDispatcher("redirect_index_intranet_producto_creado.jsp").forward(request,
                    response);
            break;
        case 1062:
            //out.print("Producto Existente");
            //Pagina Redirrecion
            request.getRequestDispatcher("redirect_index_intranet_error_producto_existente.jsp")
                    .forward(request, response);
            break;
        default:
            //Error genrico
            request.getRequestDispatcher("redirect_index_intranet_error.jsp").forward(request, response);
            //out.print("Error : "+ productoDal.insertProduct(p));
            //Pagina Redirrecion
            //request.getRequestDispatcher("pagina.jsp").forward(request, response);
            break;
        }

    } catch (Exception e) {
        //Error genrico
        request.getRequestDispatcher("redirect_index_intranet_error.jsp").forward(request, response);
        //out.print("error : " + e.getMessage());
    }
}

From source file:com.openmeap.util.ServletUtils.java

/**
 * @param modelManager/*from w ww .  ja v  a2  s  . co  m*/
 * @param request
 * @param map
 * @return
 * @throws FileUploadException
 */
static final public Boolean handleFileUploads(Integer maxFileUploadSize, String fileStoragePrefix,
        HttpServletRequest request, Map<Object, Object> map) throws FileUploadException {

    DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(4096);
    factory.setRepository(new File(fileStoragePrefix));

    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(maxFileUploadSize);

    List fileItems = upload.parseRequest(request);
    for (FileItem item : (List<FileItem>) fileItems) {
        // we'll put this in the parameter map,
        // assuming the backing that is looking for it
        // knows what to expect
        String fieldName = item.getFieldName();
        Boolean isFormField = item.isFormField();
        Long size = item.getSize();
        if (isFormField) {
            if (size > 0) {
                map.put(fieldName, new String[] { item.getString() });
            }
        } else if (!isFormField) {
            map.put(fieldName, item);
        }
    }

    return true;
}

From source file:Emporium.Servlet.ServPreVendaImportarNFe.java

/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.// w  w  w  . java  2  s.  co  m
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    HttpSession sessao = request.getSession();
    String nomeBD = (String) sessao.getAttribute("nomeBD");

    boolean isMultiPart = FileUpload.isMultipartContent(request);

    String departamento = "", servico = "", tipo = "";
    int idCliente = 0, vd = 0, ar = 0, rm = 0, tipoEntrega = 0;

    if (nomeBD != null) {
        if (isMultiPart) {
            try {
                FileItemFactory factory = new DiskFileItemFactory();
                ServletFileUpload upload = new ServletFileUpload(factory);
                upload.setSizeMax(1024 * 1024 * 2);

                List items = upload.parseRequest(request);
                Iterator iter = items.iterator();
                ArrayList<FileItem> listaArq = new ArrayList<FileItem>();

                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();
                    if (item.isFormField()) {
                        if (item.getFieldName().equals("tipo")) {
                            tipo = item.getString();
                        }
                        if (item.getFieldName().equals("departamento")) {
                            departamento = item.getString();
                        }
                        if (item.getFieldName().equals("servico")) {
                            servico = item.getString();
                        }
                        if (item.getFieldName().equals("idCliente")) {
                            idCliente = Integer.parseInt(item.getString());
                        }
                        if (item.getFieldName().equals("vd")) {
                            vd = Integer.parseInt(item.getString());
                        }
                        if (item.getFieldName().equals("ar")) {
                            ar = Integer.parseInt(item.getString());
                        }
                        if (item.getFieldName().equals("rm")) {
                            rm = Integer.parseInt(item.getString());
                        }
                        if (item.getFieldName().equals("tipoEntrega")) {
                            tipoEntrega = Integer.parseInt(item.getString());
                        }
                    }

                    if (!item.isFormField()) {
                        if (item.getName().length() > 0) {
                            listaArq.add(item);
                        }
                    }
                }

                if (listaArq.isEmpty()) {
                    response.sendRedirect(
                            "Cliente/Servicos/imp_postagem.jsp?msg=Escolha um arquivo para importacao !");
                } else if (listaArq.size() > 200) {
                    response.sendRedirect(
                            "Cliente/Servicos/imp_postagem.jsp?msg=Importacao maxima de 200 arquivos de cada vez!");
                } else {
                    ContrPreVendaImporta.excluirNaoConfirmados(idCliente, nomeBD);
                    String condicao = ContrPreVendaImporta.importaPedidoNFe(listaArq, idCliente, departamento,
                            servico, vd, ar, rm, tipoEntrega, nomeBD);
                    if (condicao.startsWith("ERRO")) {
                        response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=" + condicao);
                    } else {
                        response.sendRedirect("Cliente/Servicos/imp_confirma.jsp?msg=" + condicao);
                    }
                }

            } catch (FileUploadException ex) {
                response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=Falha na importacao!\n" + ex);
            } catch (Exception ex) {
                response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=Falha na importacao!\n" + ex);
            }

        } else {
            response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=is not a multipart form");
        }
    } else {
        response.sendRedirect("Cliente/Servicos/imp_postagem.jsp?msg=Sua sessao expirou!");
    }

}

From source file:Logic.UploadLogic.java

public void pictureUpload(HttpServletRequest request, UserDataBeans loginAccount, String contextPath) {
    for (int i = 0; i < 6; i++) {
    }/*from   w w w.  ja v a 2  s  .co m*/
    PictureDataBeans picture = null;

    //?
    System.out.println("" + request.getRequestURI());
    String path = "/Users/gest/NetBeansProjects/WorkSpacesProto/web/common/image/";
    File newDirectry = new File(path + loginAccount.getUserName());

    //?????
    if (!newDirectry.exists() || newDirectry == null) {
        newDirectry.mkdir();
        System.out.println("?");
    }

    //??
    String dPath = newDirectry.getPath();

    //???
    DiskFileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload sfu = new ServletFileUpload(factory);

    try {
        //????????
        List<FileItem> list = sfu.parseRequest(request);
        Iterator iterator = list.iterator();

        String pictureName = "";
        String extension = "";
        String comment = "????";
        int categoryID = 1;

        FileItem pictureData = null;

        while (iterator.hasNext()) {
            FileItem item = (FileItem) iterator.next();

            //??
            if (!item.isFormField()) {
                pictureData = item;
                String itemName = item.getName();
                extension = itemName.substring(itemName.lastIndexOf("."));

                //()??   
            } else {
                System.out.println(item.getString("UTF-8"));
                switch (item.getFieldName()) {

                case "pictureName":
                    //?????
                    pictureName = item.getString("UTF-8");
                    //?????, [+]??
                    if (pictureName.isEmpty()) {
                        Date date = new Date();
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
                        String strDate = sdf.format(date);
                        pictureName = "" + strDate;
                    }
                    break;

                case "category":
                    categoryID = Integer.parseInt(item.getString("UTF-8"));
                    break;

                case "comment":
                    comment = item.getString("UTF-8");
                    break;
                }
            }
        }

        pictureData.write(new File(dPath + "/" + pictureName + extension));
        //??, DB??
        String pPath = contextPath + "/common/image/" + loginAccount.getUserName() + "/" + pictureName
                + extension;
        picture = new PictureDataBeans((pictureName + extension), pPath, comment, categoryID,
                loginAccount.getUserName());
        picture.setPictureID(picture.hashCode());

        //DB??
        PictureDataDTO dto = new PictureDataDTO();
        picture.PDB2DTOMapping(dto, loginAccount.getUserID());
        PictureDataDAO.getInstance().setPictureData(dto);

    } catch (FileUploadException ex) {
        Logger.getLogger(Upload.class.getName()).log(Level.SEVERE, null, ex);
    } catch (Exception ex) {
        Logger.getLogger(Upload.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:jhi.buntata.server.NodeMedia.java

@Put
public boolean putMedia(Representation entity) {
    if (entity != null && MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) {
        try {//from  ww w  . ja  v  a 2s. c o  m
            BuntataNode node = nodeDAO.get(id);

            DiskFileItemFactory factory = new DiskFileItemFactory();
            RestletFileUpload upload = new RestletFileUpload(factory);
            FileItemIterator fileIterator = upload.getItemIterator(entity);

            if (fileIterator.hasNext()) {
                String nodeName = node.getName().replace(" ", "-");
                File dir = new File(dataDir, nodeName);
                dir.mkdirs();

                FileItemStream fi = fileIterator.next();

                String name = fi.getName();

                File file = new File(dir, name);

                int i = 1;
                while (file.exists())
                    file = new File(dir, (i++) + name);

                // Copy the file to its target location
                Files.copy(fi.openStream(), file.toPath());

                // Create the media entity
                String relativePath = new File(dataDir).toURI().relativize(file.toURI()).getPath();
                BuntataMedia media = new BuntataMedia(null, new Date(), new Date())
                        .setInternalLink(relativePath).setName(name).setDescription(name).setMediaTypeId(1L);
                mediaDAO.add(media);

                // Create the node media entity
                nodeMediaDAO.add(new BuntataNodeMedia().setMediaId(media.getId()).setNodeId(node.getId()));

                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    } else {
        throw new ResourceException(Status.CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE);
    }

    return false;
}