elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: [1]
1  Programación / Java / Asignar un bufferedImage a traves de un array de bytes desde de una peticion web en: 26 Agosto 2007, 16:12 pm
Hola:

Intento subir imagenes via web, y una vez subido la imagen generar un thumbail que sera almacenado en la base de datos.  Recupero un array de bytes, que me llega perfecamente, pero tengo problemas paa crear la imagen en miniatura.  He probado muchos metodos,pero todos me dan problemas.  Uno de ellos usando el JPEGEncode de sun, pero cuando intento hacer el decode me da un error que dice que no reconoce la imagen como jpeg (he verificado que si es jpeg).  Lo ultimo que he intentado es pasar el array de bytes obtenido a un ImageBuffered y lanzar el metodo getScaledInstance, pero tambien me da error, en esete caso, cuando creo el imagebuffered se me crea en nulo:

                InputStream in = new ByteArrayInputStream(actual.get());
                BufferedImage image = ImageIO.read(in);

Así pues ya empiezo a estar desesperado, y no se como acometer esto.  Lo único que necesito es generar y guardar en la base de datos ese thumbail.

Por fi, una ayudita.

Os pego la parte del código hasta donde da el problema, por esi el problema está en como cargo el array en memoria, pero ese array al guardarlo en mysql funciona bien, el problem esta al pasarlo a un BufferedImage:

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
       
        boolean isMultiPart;
        isMultiPart = ServletFileUpload.isMultipartContent(request);
       
        DiskFileUpload fu = new DiskFileUpload();
        fu.setSizeMax(10240*512);
        fu.setSizeThreshold(40960);
        fu.setRepositoryPath("/tmp");
        try {
            Iterator i = fu.parseRequest(request).iterator();
            FileItem actual = null;
           
            while (i.hasNext()){
                actual = (FileItem)i.next();
                String fname = actual.getName();
                Photo oPhoto = new Photo();
                oPhoto.setDesPhoto("sticked title");
                oPhoto.setBytesOriginal(actual.get());
               
//creating the bufferedImage from a JPEG stream
                InputStream in = new ByteArrayInputStream(actual.get());
                BufferedImage image = ImageIO.read(in);
                Image ri = image.getScaledInstance(150,150,150);

Gracias y un saludo

Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines