Problema al leer una imagen de una base de datos
Publicado por Fesioche (5 intervenciones) el 30/12/2009 11:39:59
Buenas!!
Os pego mi código y os indico el error:
<code>
//leido es un Dataset que contiene la imagen en la tabla "tablita", row "0" y campo "imagen"
// El campo imagen primero se almacena en un buffer
byte[] imageBuffer = (byte[])leido.Tables["tablita"].Rows[0]["imagen"];
// Se crea un MemoryStream a partir de ese buffer
MemoryStream ms = new MemoryStream(imageBuffer);
// Se utiliza el MemoryStream para extraer la imagen
//Aquí está el error!!!
pictureBox.Image = Image.FromStream(ms);
</code>
El error es que Image.FormStream no tiene ningún método sobrecargardo que reciba un MemoryStream, tiene 3 método sobrecargados y en todos ha de recibir un Stream, por lo que el propio compilador me da un error tipo: "Parameter is not valid".
La imagen está guardada en la base de datos como jpg.
El tipo de la columna en la base de datos es "image".
Y lo peor de todo es que la propia ayuda de microsoft te indica que se hace de este modo:
http://msdn.microsoft.com/es-es/library/bb972267.aspx#EBAA
He buscado en diferentes sitios y todos lo hacen de esta misma forma.
Utilizo Sql Server 2005, Visual Studio 2005 versión 8.0, Microsoft .Net Versión 2.0
Agradecería vuestra ayuda ;)
Gracias de antemano
Os pego mi código y os indico el error:
<code>
//leido es un Dataset que contiene la imagen en la tabla "tablita", row "0" y campo "imagen"
// El campo imagen primero se almacena en un buffer
byte[] imageBuffer = (byte[])leido.Tables["tablita"].Rows[0]["imagen"];
// Se crea un MemoryStream a partir de ese buffer
MemoryStream ms = new MemoryStream(imageBuffer);
// Se utiliza el MemoryStream para extraer la imagen
//Aquí está el error!!!
pictureBox.Image = Image.FromStream(ms);
</code>
El error es que Image.FormStream no tiene ningún método sobrecargardo que reciba un MemoryStream, tiene 3 método sobrecargados y en todos ha de recibir un Stream, por lo que el propio compilador me da un error tipo: "Parameter is not valid".
La imagen está guardada en la base de datos como jpg.
El tipo de la columna en la base de datos es "image".
Y lo peor de todo es que la propia ayuda de microsoft te indica que se hace de este modo:
http://msdn.microsoft.com/es-es/library/bb972267.aspx#EBAA
He buscado en diferentes sitios y todos lo hacen de esta misma forma.
Utilizo Sql Server 2005, Visual Studio 2005 versión 8.0, Microsoft .Net Versión 2.0
Agradecería vuestra ayuda ;)
Gracias de antemano
Valora esta pregunta


0