Guardar correctamente una imagen en una base de datos
Tal vez el título pueda sonar algo "erroneo" ya que una imagen literalmente no se puede guardar en una base de datos, ya que a lo que me refiero es a guardar correctamente la ruta de una imagen en una base de datos en Visual Basic .NET.
Resulta que hace un par de meses un cliente me contacto para hacerle un programa que le ayudará a controlar las visitas de un establecimiento, este necesitaba colgar fotografías de cada persona que accediera, pero lo que pasaba es que cada vez que guardaba la ruta de la imagen por medio del OpenFileDialog se guardaba la ruta pero no los "\" que son estrictamente necesarios para leer las rutas y poder hacer la consulta.
Vamos a ver como añadir este caracter en Visual Basic .NET desde un OpenFileDialog y usando una función muy interesante. Veamos el código completo y luego lo explicamos:
[highlight=vb.net] Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
OpenFileDialog1.InitialDirectory = Application.StartupPath
OpenFileDialog1.Filter = "Imágenes JPG(*.jpg)|*.jpg|Imágenes PNG(*.png)|*.png|Todos los formatos (*.*)|*.*"
Try
OpenFileDialog1.ShowDialog()
foto = OpenFileDialog1.FileName.ToString
foto_conv = Replace(foto, "\", "\\")
PictureBox2.Image = System.Drawing.Image.FromFile(foto_conv)
Catch ex As Exception
MessageBox.Show("Imágen no valida.")
End Try
End Sub[/highlight]
Esta viene siendo la parte importante:
[highlight=vb.net]foto = OpenFileDialog1.FileName.ToString
foto_conv = Replace(foto, "\", "\\")
PictureBox2.Image = System.Drawing.Image.FromFile(foto_conv)[/highlight]
Ya que allí creamos una nueva variable en la que usaremos las función Replace(), lo que hará será cambiar esto "\" por esto "\" ya que en Visual Basic .NET es estrictamente necesario declarar doble diagonal invertido para que se visualice uno.
Luego de eso ya nuestra nueva variable contiene una cadena con la ruta correcta de nuestra imagen.




LinkBack URL
About LinkBacks
