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

Boton EXAMINAR para seleccionar imagen !

Estas en el tema de Boton EXAMINAR para seleccionar imagen ! en el foro de .NET en Foros del Web. Buenos DIas.! Como andan? Bueno hoy les vengo con otro problema.. el famoso boton " EXAMINAR".. ese que le das abre el directorio y se ...
  #1 (permalink)  
Antiguo 31/07/2012, 10:04
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Exclamación Boton EXAMINAR para seleccionar imagen !

Buenos DIas.! Como andan?

Bueno hoy les vengo con otro problema.. el famoso boton " EXAMINAR".. ese que le das abre el directorio y se puede buscar un archivo (ene ste caso una imagen) seleccionarla para guardar la ruta en la BD d datos, para luego mostrarla en la aplicacion.. se entiende?

Ya tengo el proceso de abrir el directorio al darle click al boton .. aca les dejo el codigo:
Código vb:
Ver original
  1. Private Sub cmdexa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdexa.Click
  2.         Dim myStream As Stream = Nothing
  3.         Dim openFileDialog1 As New OpenFileDialog()
  4.  
  5.         openFileDialog1.InitialDirectory = "c:\"
  6.         openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
  7.         openFileDialog1.FilterIndex = 2
  8.         openFileDialog1.RestoreDirectory = True
  9.  
  10.         If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
  11.             Try
  12.                 myStream = openFileDialog1.OpenFile()
  13.                 If (myStream IsNot Nothing) Then
  14.                     ' Insert code to read the stream here.
  15.                End If
  16.             Catch Ex As Exception
  17.                 MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
  18.             Finally
  19.                 ' Check this again, since we need to make sure we didn't throw an exception on open.
  20.                If (myStream IsNot Nothing) Then
  21.                     myStream.Close()
  22.                 End If
  23.             End Try
  24.         End If
  25.     End Sub

Pero noc como hacer para que al seleccionar la imagen, la ruta aparezca en cun textbox.. para luego guardarla en la BD.. ..

Espero puedan echarme una manito.. GRACIAS! d antemano Saludos
__________________
David`Novato
  #2 (permalink)  
Antiguo 31/07/2012, 10:13
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Boton EXAMINAR para seleccionar imagen !

Primero en la Base de Datos vas a guardar la imagen en bits o una ruta especificada en el servidor especifica mas sobre esto

Para recuperar la ruta es solamente con esta linea

openFileDialog1.FileName en caso sea una imagen y openFileDialog1.FileNames en caso sea varias imágenes

Y este es el codigo para convertir imagen en binario si es que lo necesitas

Código vb:
Ver original
  1. ' Convierte Imagen a Byte
  2.  
  3.     Function ImgByte(ByVal NomAr$) As Byte()
  4.  
  5.         Try
  6.  
  7.             Dim FsFoto As New System.IO.FileStream(NomAr, IO.FileMode.Open, IO.FileAccess.Read)
  8.  
  9.             Dim Info As New System.IO.FileInfo(NomAr)
  10.  
  11.             Dim image(Convert.ToInt32(Info.Length)) As Byte
  12.  
  13.             FsFoto.Read(image, 0, Convert.ToInt32(Info.Length))
  14.  
  15.             FsFoto.Close()
  16.  
  17.             FsFoto = Nothing
  18.  
  19.             Return image
  20.  
  21.         Catch ex As Exception
  22.  
  23.             MsgBox(ex.Message)
  24.  
  25.         End Try
  26.  
  27.         Return Nothing
  28.  
  29.     End Function
  30.  
  31.  
  32.  
  33.     ' Convierte Byte a Image
  34.  
  35.     Function ByteImage(ByVal bytes As Byte()) As Image
  36.  
  37.         Dim Bmp As Bitmap = Nothing
  38.  
  39.         Try
  40.  
  41.             If bytes.Length = 0 Then Return Nothing
  42.  
  43.             Dim Memory As New System.IO.MemoryStream(bytes)
  44.  
  45.             Bmp = New Bitmap(Memory)
  46.  
  47.             Memory.Dispose()
  48.  
  49.             Memory = Nothing
  50.  
  51.         Catch ex As Exception
  52.  
  53.             MsgBox(ex.Message)
  54.  
  55.         End Try
  56.  
  57.         Return Bmp
  58.  
  59.     End Function
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 31/07/2012, 10:20
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Boton EXAMINAR para seleccionar imagen !

Justamente ayer publique un articulo en mi blog sobre como insertar y mostrar imagenes de una bd en nuestras aplicaciones.
Dale una leida.
Guardar y Mostrar Imagenes de Base de Datos en .Net

En el ejemplo yo lo que hago es esto.
Código vb.net:
Ver original
  1. OpenFileDialog file = new OpenFileDialog();
  2.     file.Filter = "Archivo JPG|*.jpg";
  3.  
  4.     if (file.ShowDialog() == DialogResult.OK)
  5.     {
  6.         pictureBox1.Image = Image.FromFile(file.FileName);
  7.     }
El usuario busca una imagen y se carga en un picturebox y luego hago los procedimientos para insertar la imagen en la bd, dale una leída al articulo también tienes el ejemplo de descarga.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #4 (permalink)  
Antiguo 31/07/2012, 10:28
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Boton EXAMINAR para seleccionar imagen !

Gracias por la pronta respuesta muchachos.. Ahorita probare ambas formas a ver como me va y les aviso..! ;) .. Cristian revisare tu blog en lo que llegue a mi casa.. porq aki dond trabajo tienen muchas restrigciones a la hora d abrir paginas.. y los blog son los primeros q no abren :s xD .!
__________________
David`Novato
  #5 (permalink)  
Antiguo 31/07/2012, 10:32
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Boton EXAMINAR para seleccionar imagen !

Cita:
Primero en la Base de Datos vas a guardar la imagen en bits o una ruta especificada en el servidor especifica mas sobre esto

Para recuperar la ruta es solamente con esta linea

openFileDialog1.FileName en caso sea una imagen y openFileDialog1.FileNames en caso sea varias imágenes
Caundo recupero al ruta , como hago q se muestre en un textbox.. (como aparece en casi todas las paginas web)
__________________
David`Novato
  #6 (permalink)  
Antiguo 31/07/2012, 10:35
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Boton EXAMINAR para seleccionar imagen !

Cita:
Iniciado por DavidNovato Ver Mensaje
Caundo recupero al ruta , como hago q se muestre en un textbox.. (como aparece en casi todas las paginas web)
es lo mismo que te digo ahí

textbox1.text = openFileDialog1.FileName

En el blog de cristiantorres esta muy bien detallado revisalo cuando puedas esta en C# pero no creo que se te haga difícil entenderlo
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 31/07/2012, 10:40
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Boton EXAMINAR para seleccionar imagen !

Si sii.!! LISTO .! ya funciona.. no habia leido bien .. Gracias Dadr7.! En lo que llegue a mi casa le hecho una leida al blog.. GRACIAS.!
__________________
David`Novato
  #8 (permalink)  
Antiguo 31/07/2012, 10:42
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Boton EXAMINAR para seleccionar imagen !

Como te dice Dradi7 si quieres mostrar la ruta en un texbox solo arias.
Código vb.net:
Ver original
  1. Dim file As New OpenFileDialog()
  2.     file.Filter = "Archivo JPG|*.jpg"
  3.     If file.ShowDialog() = DialogResult.OK Then
  4.         textbox.Tex = file.FileName
  5.     End If
Y el ejemplo en el blog esta en ambos lenguajes Dradi7 c# y vb.net
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #9 (permalink)  
Antiguo 31/07/2012, 10:59
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Boton EXAMINAR para seleccionar imagen !

Disculpen una ultima duda.. Ya la ruta esta guardada en la BD.. en la tabla "producto".. ahora como se podria hacer para que al seleccionar el producto de un combobox se cargara la imagen de ese producto en un picture..? y disculpen
__________________
David`Novato

Última edición por DavidNovato; 31/07/2012 a las 11:11
  #10 (permalink)  
Antiguo 31/07/2012, 11:12
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Boton EXAMINAR para seleccionar imagen !

OJO primero debes ver bien que ruta estas guardando no puedes guardar la ruta de la imagen de una PC local a la Base de Datos lo que deberías realizar seria copiar esa imagen a una carpeta del servidor y una vez guardada obtener la ruta de la imagen y mostrarla en tu aplicación

Primero recupera la ruta de tu BD, por ejemplo usando un DataReader
Código vb:
Ver original
  1. Dim archivo as String = datareader1.GetString(0) // suponiendo que sea el indice de la columna de la base de datos
  2. Picturebox1.Image = New System.Drawing.Bitmap(archivo)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #11 (permalink)  
Antiguo 01/08/2012, 13:51
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Boton EXAMINAR para seleccionar imagen !

Cita:
Iniciado por Dradi7 Ver Mensaje
Primero recupera la ruta de tu BD, por ejemplo usando un DataReader
Código vb:
Ver original
  1. Dim archivo as String = datareader1.GetString(0) // suponiendo que sea el indice de la columna de la base de datos
  2. Picturebox1.Image = New System.Drawing.Bitmap(archivo)
HEY! Disculpa pero no me esta resultando para mostrar la imagen :S .. puese ese codiigo en el evento SelectedIndexChanged, de mi combobox "producto".. porq la idea es que cuando seleccione el producto aparezca la foto del mismo.. pero m da error..
__________________
David`Novato
  #12 (permalink)  
Antiguo 01/08/2012, 14:14
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Boton EXAMINAR para seleccionar imagen !

Pero que error te da muéstranos cual es el error el cual te mencionas
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #13 (permalink)  
Antiguo 01/08/2012, 15:20
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Boton EXAMINAR para seleccionar imagen !

NullReferenceException was unhandled by user code - referencia a objeto no establecida como instancia de un objeto .. Eso me lo dic en :

Código vb:
Ver original
  1. Dim archivo as String = datareader1.GetString(0)
__________________
David`Novato
  #14 (permalink)  
Antiguo 01/08/2012, 15:52
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Boton EXAMINAR para seleccionar imagen !

Pero el error esta claro primero debes declarar el SqlDataReader (Puede ser Otros), luego obtener la consulta de datos con SqlCommand y luego recien poder mostrar los datos sino te va a mostrar error yo supongo que tu tienes tu codigo de como obtener tus datos de la BD
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #15 (permalink)  
Antiguo 02/08/2012, 13:31
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Boton EXAMINAR para seleccionar imagen !

Bueno el que siempre uso es algo asi.. (incluire de una vz el codigo para a imagen):
Código vb:
Ver original
  1. Dim con As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
  2.        Dim consulta As String = "Select imagen from producto where ID_producto = " + cboproducto.SelectedValue.ToString
  3.         Dim comando As New MySqlCommand(consulta, con)
  4.  
  5.         Dim drd As MySqlDataReader
  6.         Dim archivo As String = drd.GetString(0) 'suponiendo que sea el indice de la columna de la base de datos
  7.        con.Open()  
  8. drd = comando.ExecuteReader()
  9.         If drd.Read() Then
  10.  PictureBox2.Image = New System.Drawing.Bitmap(archivo)
  11.        
  12.         End If
  13.         drd.Close()
  14.         con.Close()

Uso ese codigo parecido.. para traer datos a un textbox.. pero eso me da el mismo error que te mencione anteriormente; dond aparece el combobox es para que al seleccionar un producto aparezca la imagen de ese producto..
__________________
David`Novato
  #16 (permalink)  
Antiguo 02/08/2012, 14:45
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Boton EXAMINAR para seleccionar imagen !

Cita:
Iniciado por DavidNovato Ver Mensaje
Bueno el que siempre uso es algo asi.. (incluire de una vz el codigo para a imagen):
Código vb:
Ver original
  1. Dim con As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
  2.        Dim consulta As String = "Select imagen from producto where ID_producto = " + cboproducto.SelectedValue.ToString
  3.         Dim comando As New MySqlCommand(consulta, con)
  4.  
  5.         Dim drd As MySqlDataReader
  6.         Dim archivo As String = drd.GetString(0) 'suponiendo que sea el indice de la columna de la base de datos
  7.        con.Open()  
  8. drd = comando.ExecuteReader()
  9.         If drd.Read() Then
  10.  PictureBox2.Image = New System.Drawing.Bitmap(archivo)
  11.        
  12.         End If
  13.         drd.Close()
  14.         con.Close()

Uso ese codigo parecido.. para traer datos a un textbox.. pero eso me da el mismo error que te mencione anteriormente; dond aparece el combobox es para que al seleccionar un producto aparezca la imagen de ese producto..
Pero el error esta super claro como piensas recuperar el drd.GetString(0) si ni siquiera aun has hecho la consultora mira bien tu código primero debes llenar los datos al datareader con el comando.ExecuteReader() y luego recien debes consultar los datos con drd.GetString(0)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: examinar, textbox, windows, botones, aplicaciones
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 18:54.