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


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Asignar un bufferedImage a traves de un array de bytes desde de una peticion web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Asignar un bufferedImage a traves de un array de bytes desde de una peticion web  (Leído 5,063 veces)
lovaspillando

Desconectado Desconectado

Mensajes: 11


Ver Perfil
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



En línea

Yshua

Desconectado Desconectado

Mensajes: 51


Yeshúa Ha Mashiaj... Mikamoha belim Adonai


Ver Perfil WWW
Re: Asignar un bufferedImage a traves de un array de bytes desde de una peticion web
« Respuesta #1 en: 26 Agosto 2007, 23:38 pm »

me parece bastante confuso tu error, debe haber algo q corrompe el byte array del jpg, a mi me pasaba algo parecido ahora que recuerdo, creo q lo solucioné usando un ImageIcon y en el constructor pasarle el byte array, luego para reducir la imagen puedes usar el metodo getImageInstance, o algo parecido q tiene el imageIcon, o si no estoy mal tambien tiene el scaled.... trata de solucionarlo así, si necesitas q sea mas explícito con lo del ImageIcon, postea, y ya miro bien y te doy todo bien explícito


En línea


Baruj aba beshem Adonai.
<a href="http://www.cp666group.com">visita mi sitio CP666GROUP</a>
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines