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

Guardar archivo en BD

Estas en el tema de Guardar archivo en BD en el foro de .NET en Foros del Web. Buen dia Alguien me puede ayudar con una rutina para guardar un archivo (especificamente una imagen) en una base de datos sql server y luego ...
  #1 (permalink)  
Antiguo 13/03/2008, 09:28
 
Fecha de Ingreso: mayo-2006
Mensajes: 110
Antigüedad: 18 años
Puntos: 0
Guardar archivo en BD

Buen dia

Alguien me puede ayudar con una rutina para guardar un archivo (especificamente una imagen) en una base de datos sql server y luego de guardado hacer una consulta para obtener su nombre...

Gracias
  #2 (permalink)  
Antiguo 13/03/2008, 10:49
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Guardar archivo en BD

Guardando imagen en BD (SQL Server)

SqlCommand com = new SqlCommand("insert into StudentPhoto values(@roll,@photo)", con);
com.Parameters.Add(new SqlParameter("@roll", SqlDbType.Int));
com.Parameters.Add(new SqlParameter("@photo", SqlDbType.Image));

int imgSize = FilePhoto.PostedFile.ContentLength;
Stream imgStream = FilePhoto.PostedFile.InputStream;
byte[] imgContent = new byte[imgSize];
imgStream.Read(imgContent, 0, imgSize);

com.Parameters["@roll"].Value = Int32.Parse(TxtRoll.Text);
com.Parameters["@photo"].Value = imgContent;

con.Open();
com.ExecuteNonQuery();
con.Close();

Leer Imagen

SqlCommand com = new SqlCommand("select photo from studentphoto where roll=" + Int32.Parse(ComboRoll.SelectedItem.Text), con);
con.Open();
SqlDataReader rd=com.ExecuteReader();
if (rd.HasRows)
{
while (rd.Read())
{
System.Data.SqlTypes.SqlBytes photo=rd.GetSqlBytes(0);
Bitmap bmp = new Bitmap(photo.Stream);
FileStream fs=new FileStream("c:\\abc.jpg",FileMode.Create);
bmp.Save(fs,System.Drawing.Imaging.ImageFormat.Jpe g);
StudImage.ImageUrl = "c:\\abc.jpg";
}
}
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
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 12:46.