Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/05/2010, 08:24
Avatar de jahman
jahman
 
Fecha de Ingreso: noviembre-2003
Ubicación: Oslo
Mensajes: 230
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Mostrar imagen desde SQL C#

ola bueno sigo con el mismo problema solo q esta vez me di cuenta q no lo mostraba por inconcisitencia en el tipo de dato por ejemplo cuando recojo un fotos y lo convierto a byte[] me muestra con byte[4347] y funciona bien pero cuando recojo esa misma foto desde la base de datos campo tipo Image me devuelve byte[13]

como pueden ver la fotos se guardan mal en la bd...

default.aspx donde muestro o recojo la foto
el q esta en rojo es cuando cojo la foto desde el hdd
y el azul desde la bd
Código:
protected void Page_Load(object sender, EventArgs e)
    {
            string sql = string.Format("SELECT ItemId,Contents FROM RubrikkImg.dbo.Attachment Where ItemId = '12'");
            List<object[]> img = Db.GetData(sql);
            //lblResult.Text = String.Format("ItemId is {0} - \n Thumb Data ", img[0][0].ToString());//,BitConverter.ToString((byte[])img[0][1]));
            // Display the image from the database

            //byteArrayToImage((byte[])img[0][1]); //img[0][0].ToString();
            byte[] dataI = (byte[])img[0][1];
            byte[] data = File.ReadAllBytes(@"C:\Test\2010.jpg"); 
            //byteArrayToImage(data);
            Response.ContentType = "image/jpeg";
            Response.BinaryWrite(data);
    }
upfile.aspx
aca es donde subo la foto a la bd creo...en la query lo paso como tipo Image pero al guardar como q no se traspasa bien....
Código:
protected void btnSave_Click(object sender, EventArgs e)
    {
        DataConnection();
        cmd = new SqlCommand();
        cmd.CommandText = "Insert into RubrikkImg.dbo.Attachment (ItemId,Contents )values('12',cast('" + FileUpload1.FileBytes + "' as Image))";
        cmd.CommandType = CommandType.Text;
        cmd.Connection = con;
        /*string strPath = Server.MapPath("C:\\Test\\");
        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs(strPath + FileUpload1.FileName);
        }*/
        cmd.ExecuteNonQuery();

        Response.Write("File save successfully");
    }
espero q alguien me pueda orientar. Gracias