elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Guardar imagen sin tener ruta de archivo en una base datos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Guardar imagen sin tener ruta de archivo en una base datos.  (Leído 2,515 veces)
enterariel

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Guardar imagen sin tener ruta de archivo en una base datos.
« en: 10 Agosto 2012, 17:10 pm »

Utilizo este método para guardar una imagen una base datos access. me guarda perfectamente.

Código
  1. Dim fsreader As New FileStream("c:\carpeta\foto1.jpg", FileMode.Open, FileAccess.Read)
  2. Dim breader As New BinaryReader(fsreader)
  3. Dim imgbuffer(fsreader.Length) As Byte
  4. breader.Read(imgbuffer, 0, fsreader.Length)
  5. fsreader.Close()
  6. 'closes the current stream and releases any resources
  7.  
  8. strSQL = "INSERT INTO juegos (titulo,imagen) values (@titulo,@imagen)"
  9. strComando.CommandText = strSQL
  10. strComando.Connection = strConexion
  11.  
  12. strComando.Parameters.AddWithValue("@titulo", "nuevo metodo")
  13. strComando.Parameters.AddWithValue("@imagen", imgbuffer)
  14. strComando.ExecuteNonQuery()
  15. strComando.Dispose()
  16. MsgBox("Saved")

Pero ahora surgió un problemita. tengo un PictureBox en donde le pego el contenido del Clipboard.

Código
  1. If Clipboard.GetDataObject.GetDataPresent("Bitmap") Then
  2. PictureBox1.Image = CType(Clipboard.GetDataObject.GetData("Bitmap"), Bitmap)
  3. End If

y no se como decirle aca en que ruta esta el archivo por que no esta en el disco.
Código
  1. Dim fsreader As New FileStream("el-problema-esta-aca-que-poner", FileMode.Open, FileAccess.Read)


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: Guardar imagen sin tener ruta de archivo en una base datos.
« Respuesta #1 en: 10 Agosto 2012, 17:27 pm »

es que FileStream solo te convierte a Stream una imagen del disco, no lo deberias usar, ya que te limita a solo cargar imagenes del disco. deberias usar MemoryStream, que ese te covierte a Stream lo que haya en el Picturebox independientemente como hayas cargado la imagen.

entonces despues no tendrias que usar FileStream, directamente al cargar la imagen (ya sea desde el disco con la propiedad .Load del picturebox o desde el clipboard) la imagen que contenga se va a convertir en Stream (que despues se la pasas al BinaryReader).

Código
  1. Imports System.IO
  2.  
  3. Public Class Form1
  4.  
  5.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  6.        Dim i As New MemoryStream()
  7.        PictureBox1.Image.Save(i, System.Drawing.Imaging.ImageFormat.Jpeg) ' aca guardas la imagen del picture a Stream
  8.  
  9.        Dim breader As New BinaryReader(i) ' aca sigue tu codigo...
  10.    End Sub
  11. End Class

saludos.



En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
enterariel

Desconectado Desconectado

Mensajes: 29


Ver Perfil
Re: Guardar imagen sin tener ruta de archivo en una base datos.
« Respuesta #2 en: 10 Agosto 2012, 22:04 pm »

Gracias, Seba funciono de lujo

Saludos...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines