Foros del Web » Programación para mayores de 30 ;) » .NET »

Guardar Imagen Sql desde C#

Estas en el tema de Guardar Imagen Sql desde C# en el foro de .NET en Foros del Web. Hola que tal, necesito guardar una imagen para despues leerla con memory stream. Código: byte[] imageBuffer = (byte[])Row["oFoto"]; // Se crea un MemoryStream a partir ...
  #1 (permalink)  
Antiguo 03/01/2012, 12:01
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Guardar Imagen Sql desde C#

Hola que tal, necesito guardar una imagen para despues leerla con memory stream.

Código:
            byte[] imageBuffer = (byte[])Row["oFoto"];
            // Se crea un MemoryStream a partir de ese buffer
            MemoryStream ms = new MemoryStream(imageBuffer);
            // Se utiliza el MemoryStream para extraer la imagen
            srcRecurso = Image.FromStream(ms);
hasta ahora yo guardaba la imagen de la siguiente manera.

Creaba una variable de tipo Imagen

Código:
public image srcRecurso;
y esta variable la inserto en la base de datos, como a cualquier otra variable, el tema es que no puedo leer este dato que se guarda para convertirlo nuevamente en imagen, asi que necesi si alguien me puede indicar cual seria la manera correcta de guardar la imagen, saludos y gracias!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #2 (permalink)  
Antiguo 05/01/2012, 20:29
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Guardar Imagen Sql desde C#

por que no guardar la ruta de esa imagen cmo tipo nvarcar??
y cuando kieras cargar la imagen a un picturebox solamente jalas la ruta y le das
pic.Load(ruta);
y listo

espero te sirva la informacion
__________________
si siempre hay algo nuevo que aprender
  #3 (permalink)  
Antiguo 06/01/2012, 06:37
Avatar de leo_nqn  
Fecha de Ingreso: abril-2010
Ubicación: Neuquen
Mensajes: 461
Antigüedad: 14 años
Puntos: 24
Respuesta: Guardar Imagen Sql desde C#

por q despues necesito sincronizar esta base de datos con la de un equipo mobil! y no quiero pasar 10000 imagenes al equipo, prefiero pasar el hexadecimal en la base de datos! gracias ya lo solucione, si alguien lo necesita, avisen!
__________________

Blog: http://leonardonqn.blogspot.com
Twitter:@Leo_FFerreyra
  #4 (permalink)  
Antiguo 02/02/2012, 20:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Guardar Imagen Sql desde C#

LEO..!!!!
yo necesito esa ayuda de favor....

ya guarde imagenes en sql y al momento de leerlas en .net y asignarla a la imagen me marca un error que:: El parámetro no es válido.



te dejo mi codigo haber si me puedes ayudar, gracias

SqlConnection cnn = new SqlConnection("Data Source=(local);Initial Catalog=CGV;");
cnn.Open();
SqlCommand cmd = new SqlCommand("select imgfile from myimages");
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("select imgfile from myimages", cnn);
da.Fill(ds, "myimages");

if (ds.Tables["myimages"].Rows.Count != 0)
{

byte[] imageBuffer = (byte[])ds.Tables["myimages"].Rows[0]["imgfile"];

MemoryStream ms = new MemoryStream(imageBuffer);

pictureBox1.Image = Image.FromStream(ms);
}
  #5 (permalink)  
Antiguo 03/02/2012, 08:20
Avatar de lucord  
Fecha de Ingreso: marzo-2010
Ubicación: San Jose, Costa Rica
Mensajes: 87
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: Guardar Imagen Sql desde C#

les dejo un ejemplo de como hago yo para cargar un archivo y realizar la consulta de inmediato, para la carga utilizo un control FileUpload..


Código C:
Ver original
  1. protected void btnSubir_Click(object sender, EventArgs e)
  2.     {
  3.         if ((FileUpload1.PostedFile != null) && (FileUpload1.PostedFile.ContentLength > 0))
  4.         {
  5.             System.Web.HttpPostedFile ImgFile = FileUpload1.PostedFile;
  6.             // Almacenamos la imagen en una variable para insertarla en la bbdd.
  7.             Byte[] byteImage = new Byte[FileUpload1.PostedFile.ContentLength];
  8.             ImgFile.InputStream.Read(byteImage, 0, FileUpload1.PostedFile.ContentLength);
  9.  
  10.             string sql = "insert into FIN_SolicitudImagen (fk_solicitud, si_titulo, si_imagen)";
  11.             sql += " Values (@fk_solicitud, @si_titulo, @si_imagen)";
  12.             SqlConnection SqlConn = new SqlConnection("server=localhost;uid=finw;pwd=finw;database=FINW");
  13.             SqlCommand SqlCom = new SqlCommand(sql, SqlConn);
  14.             SqlCom.Parameters.Add("@fk_solicitud", System.Data.SqlDbType.Int, 4);
  15.             SqlCom.Parameters["@fk_solicitud"].Value = txtIdSolicitud.Text;
  16.  
  17.             SqlCom.Parameters.Add("@si_titulo", System.Data.SqlDbType.VarChar, 150);
  18.             SqlCom.Parameters["@si_titulo"].Value = txtTitulo.Text;
  19.             SqlCom.Parameters.Add("@si_imagen", System.Data.SqlDbType.VarBinary);
  20.             SqlCom.Parameters["@si_imagen"].Value = byteImage;
  21.  
  22.             SqlConn.Open();
  23.             SqlCom.ExecuteNonQuery();
  24.             //SqlConn.Close();
  25.             SqlCommand SqlCom1 = new SqlCommand("Select MAX(ID) From FIN_SolicitudImagen ", SqlConn);
  26.             string lastID = SqlCom1.ExecuteScalar().ToString();
  27.             SqlConn.Close();
  28.             lblId.Text = lastID;
  29.         }
  30.     }

Espero les sirva, Salu2.
  #6 (permalink)  
Antiguo 03/02/2012, 20:08
Usuario no validado
 
Fecha de Ingreso: junio-2010
Ubicación: Guatemala
Mensajes: 196
Antigüedad: 13 años, 10 meses
Puntos: 25
Respuesta: Guardar Imagen Sql desde C#

Saludos, te puedo mostrar un ejemplo en SQL Server Compact Edition, solo es cuestión de adaptar el código a SQL Server.

http://jonathanbucaro.com/programaci...sql-server-ce/
  #7 (permalink)  
Antiguo 30/03/2012, 18:34
Avatar de elhombredeblanko  
Fecha de Ingreso: junio-2011
Ubicación: México Lindo y Querido
Mensajes: 212
Antigüedad: 12 años, 10 meses
Puntos: 2
Respuesta: Guardar Imagen Sql desde C#

Cita:
Iniciado por leo_nqn Ver Mensaje
por q despues necesito sincronizar esta base de datos con la de un equipo mobil! y no quiero pasar 10000 imagenes al equipo, prefiero pasar el hexadecimal en la base de datos! gracias ya lo solucione, si alguien lo necesita, avisen!
amigoo...
como guardas la imagen en la base de datos??
yo lo hacia guardando la ruta, pero la forma en como mencionas se me hace mejor
y mas efectiva, me podrias proporcionar tu ayuda?

gracias

salu2
__________________
si siempre hay algo nuevo que aprender

Etiquetas: sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:45.