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