RV: Guardar imagen desde java

From: "Hugo Gamarra" <hgamarra(at)hacienda(dot)gov(dot)py>
To: "'PostGreSQL'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RV: Guardar imagen desde java
Date: 2005-02-02 11:26:53
Message-ID: 000601c5091a$1bbc6ba0$ef06000a@SSET.GOV.PY
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenos Días
Por un problemita con mi suscripción no se si llego mi agradecimiento a
la lista por la ayuda que me dieron

Saludos cordiales,
Hugo Gamarra.

-----Mensaje original-----
De: Alvaro Herrera [mailto:alvherre(at)dcc(dot)uchile(dot)cl]
Enviado el: Lunes, 31 de Enero de 2005 09:42
Para: Hugo Gamarra
Asunto: Re: [pgsql-es-ayuda] Guardar imagen desde java

Por favor suscribete a la lista, y publica tus mensajes desde la misma
cuenta con la que estas suscrito.

Gracias.

On Mon, Jan 31, 2005 at 09:51:33AM -0400, Hugo Gamarra wrote:
> Compañeros muchísimas gracias por sus consejos
> El codigo quedo asi
> Para guardar en la base
>
> public void setImagen(String tipImagen,
> int numImagen,
> String path,
> String nomArchivo)throws SQLException {
> try{
> File f = new File(path+nomArchivo);
> FileInputStream s = new FileInputStream(f);
> PreparedStatement p = c.prepareStatement("insert into
> imagenes values(?, ?, ?, ?)");
> p.setString(1, "ICO");
> p.setInt(2, numImagen);
> p.setString(3, f.getName());
> p.setBinaryStream(4, s, (int)f.length());
> p.executeUpdate();
> s.close();
> }
> catch(Exception e){
> throw new SQLException( "No se pudo guardar la imagen.\n"
+
> e);
> }
> }
>
> y este es el código con el cual recupero de la Base la imagen
> public ImageIcon getImagen(String tipImagen,
> int numImagen)throws SQLException {
> PreparedStatement p = c.prepareStatement( "select imagen "
> +
> " from imagenes "
> +
> " where tip_imagen =
> ?" +
> " and num_imagen =
> ?" );
> p.setString (1, tipImagen);
> p.setInt (2, numImagen);
> ResultSet r = p.executeQuery();
> ImageIcon m = new ImageIcon();
> while (r.next()){
> byte[] i = null;
> i = r.getBytes("imagen");
> m = new ImageIcon(i);
> }
> r.close();
> p.close();
> return m;
> }
>
> Saludos cordiales,
> Hugo Gamarra.
>
> > -----Mensaje original-----
> > De: Ricardo Fuentes Pereira [mailto:rfuentesp(at)gmail(dot)com]
> > Enviado el: Viernes, 28 de Enero de 2005 11:58
> > Para: Hugo Gamarra
> > Asunto: Re: [pgsql-es-ayuda] Guardar imagen desde java
> >
> > Hugo Gamarra wrote:
> >
> > >Buenos Días Compañeros
> > >
> > >Tengo una consulta espero me puedan ayudar,
> > >Estoy queriendo guardar unas imágenes desde java en un campo del
> bytea,
> > >En encontré con este código que esta en documentación del JDBC
> > >---
> > >File file = new File("myimage.gif");
> > >FileInputStream fis = new FileInputStream(file);
> > >PreparedStatement ps = c.prepareStatement("INSERT INTO images
VALUES
> (?,
> > >?)");
> > >ps.setString(1, file.getName());
> > >ps.setBinaryStream(2, fis, file.length());
> > >ps.executeUpdate();
> > >ps.close();
> > >fis.close();
> > >---
> > >pero al tratar de implementarla me lanza el siguiente error
> > >
> > >sistemita/recursos/definiciones.java [261:1]
> > >setBinaryStream(int,java.io.InputStream,int) in
> > >java.sql.PreparedStatement cannot be applied to
> > >(int,java.io.FileInputStream,long)
> > >ps.setBinaryStream(2, fis, file.length());
> > > ^
> > >1 error
> > >Errors compiling definiciones.
> > >
> > >El problema es que setBinaryStream no acepta como valor un
> > >FileInputStream, pero el InputStream es una clase abstracta
> > >
> > >
> > Me parece que no es por eso, sino mas bien pq la definicion de los
> > parametros es asi:
> >
> > setBinaryStream(int,java.io.InputStream,int) <----Ojo, un int al
final
> >
> > y el metodo lenght() devuelve un long.
> >
> > Podrias hacer un cast y contarnos si pudiste ingresar la imagen.
> > O sea queda asi:
> > ...
> > ps.setBinaryStream(2, fis, (int) file.length());
> > ...
> >
> > No te olvides de contarnos si pudiste o no.
> >
> > Saludos
>
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"El número de instalaciones de UNIX se ha elevado a 10,
y se espera que este número aumente" (UPM, 1972)

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Tomas Eroles i Forner 2005-02-02 12:19:57 Error fatal
Previous Message Oswaldo Hernández 2005-02-02 09:59:45 Seminario