Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   .NET (http://www.forosdelweb.com/f29/)
-   -   imagenes en mysql (http://www.forosdelweb.com/f29/imagenes-mysql-566272/)

Drako_18 14/03/2008 22:32

imagenes en mysql
 
Hola amigos, tengo una tabla de prueba, con 2 campos, el id y una foto, el de foto es de tipo blob, pero no tengo ni idea de como conseguir subir la imagen a la base de datos, estoy probando varias cosas, pero lo que tendria que ahcer es convertirla en byte's, pero no se puede de forma directa... :S

Bueno amigos, espero que me aya explicado cual es mi problema.



Muchisimas gracais de antemano!!!



RESUELTO --- CUANDO ME LEVANTE PONGO LA SOLUCION....

Drako_18 16/03/2008 04:23

Re: imagenes en mysql
 
Bueno lo prometido es deuda, tras unos dias de desfase total xD
aqi teneis ya el codigo de como subir una imagen a una base de datos mysql (o la que sea) y además el como mostrarla, utilizo DataTable tipados, que facilitan muy mucho la labor de manejar la base de datos.


Codigo de Subida:
Código:

'Data Table instanciado en el load (Me.dtToma, BD de prueba).
'Indico la imagen con un dialogo, comprobando que se selecione algun fichero
' El filtro sera: (.JPG)|.JPG (en mi caso).
IfMe.dlgImagen.ShowDialog() = Windows.Forms.DialogResult.OK AndAlsoMe.dlgImagen.FileName IsNotNothingThen
'Creo una nueva fila y la instancio (dandole ademas la estructura de los campos)
Dim drToma As tomaRow = Me.dtToma.NewtomaRow
If IsDBNull(Me.dtToma.Compute("MAX(ID)", "")) Then
drToma.ID = 1
Else
drToma.ID = Me.dtToma.Compute("MAX(ID)", "") + 1
EndIf
'Convierto la imagen a BYTE's y se la asigno al campo de la BD que sea del tipo BLOB (o su hermano mayor -LONGBLOB-
drToma.ima = System.IO.File.ReadAllBytes(Me.pctImagen.ImageLocation)
'A¤ado la fila a la tabla.
Me.dtToma.AddtomaRow(drToma)
 
Dim sError AsString
'Guardo la tabla.
sError = GuardarToma(Me.dtToma)
If sError <> ""Then
MessageBox.Show(sError)
EndIf
EndIf


Código de Muestreo:
Código:

IfMe.ListBox1.SelectedItem IsNotNothingThen
Dim imag AsNew ImageConverter
Dim drToma As tomaRow = Me.dtToma.FindByID(Me.ListBox1.SelectedValue)
'Convierto los byte's a tipo imagen con el control ImageConverter
Me.PictureBox1.Image = imag.ConvertFrom(drToma.ima)
EndIf



La zona horaria es GMT -6. Ahora son las 23:25.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.