Cargar/Descargar Archivos Desde y Hacia una Columna 'image' SQL

 

Friend Class Ejemplo

    Private _ms As MemoryStream  'Carga/descarga de archivos SQL

    Private _Fs As FileStream    ’Manejo archivos en memoria

    Private _By() As Byte = Nothing  'Array de intercambio

 

    '

    'Guardar el Documento

    Private Sub Doc_Almacenar(ByVal Origen As String, ByVal Nombre As String)

        Try

            'crear un nuevo fstrm con el archivo apuntado en la ruta

            'contenida en el origen

            _Fs = New FileStream(Origen, FileMode.Open, FileAccess.Read)

            'redimensionarlo y adaptarlo a su longitud

            ReDim _By(_Fs.Length)

            'convertir el fstrm en un array de bytes

            _Fs.Read(_By, 0, _Fs.Length)

            'Archivos es el tableadapter

            'almacenar array en una imagen binaria Sql

            Archivos.Insert(Nombre, _By)

            _Fs.Close()               'cerrar el fstrm

            _Fs.Dispose()             'Liberarlo

        Catch ex As Exception

            'En caso de excepcion...

            Me.lblExcepciones.Text = "DocAlmacenar: " + ex.Message

        End Try

    End Sub

    '

    'Cargar documento desde la col imagen de SQL

    Private Sub Doc_Recuperar(ByVal Nombre As String)

        Try

            'Recuperar imagen de SQL a un array intermedio

            If Nombre.Length > 0 Then

                'el table adapter devuelve una imagen

                'resultante de la consulta 'Recuperar(Col Nombre)'

                Dim Buffer() As Byte = Archivos.Recuperar(Nombre).Rows(0).Item("Imagen")

                'Crear un nuevo archivo

                _Fs = New FileStream("Documento.tmp", FileMode.Create, FileAccess.Write)

                'escribirlo a partir del array intermedio

                _Fs.Write(Buffer, 0, Buffer.Length)

                _Fs.Close()       'Cerrar el fstrm

                _Fs.Dispose()     'Liberarlo

            End If

        Catch ex As Exception

            'En caso de excepcion, reportar

            Me.lblExcepciones.Text = "DocRecuperar: " + ex.Message

            Try

                My.Computer.FileSystem.DeleteFile("Documento.tmp")

            Catch ex2 As Exception

                Me.lblExcepciones.Text = "Eliminar: " + ex.Message

            End Try

        End Try

    End Sub

End Class

 

Published Wed, Mar 28 2007 9:18 by peplluis
Filed under: ,

Comments

# re: Cargar/Descargar Archivos Desde y Hacia una Columna 'image' SQL

Tuesday, July 03, 2007 4:37 PM by maroc

'almacenar array en una imagen binaria Sql

           Archivos.Insert(Nombre, _By)

que es eso me alega con  Archivos.Insert(Nombre, _By)me dice que no esta declarado

# re: Cargar/Descargar Archivos Desde y Hacia una Columna 'image' SQL

Tuesday, August 21, 2007 4:11 PM by Claudio

Hola, sabes que yo tampoco entiendo mucho. me imagino que para insertar algo en la tabla de ser con la instruccion insert into ? o no?

gracias.

# re: Cargar/Descargar Archivos Desde y Hacia una Columna 'image' SQL

Sunday, June 01, 2008 7:47 AM by peplluis

Siguiendo el codigo anterior en :

'almacenar array en una imagen binaria Sql

Archivos.Insert(Nombre, _By)

# re: Cargar/Descargar Archivos Desde y Hacia una Columna 'image' SQL

Monday, September 13, 2010 4:02 PM by Diego

Luego de estar el fin de semana dando vueltas por un montón de páginas en Internet, pude localizar esta información que publicaste y finalmenteerminar la parte del código que me faltaba para mostrar imágenes almacenadas en SQL.

Muchas, muchas gracias!!!

# re: Cargar/Descargar Archivos Desde y Hacia una Columna 'image' SQL

Friday, May 11, 2012 6:26 PM by Octavio Salcido

buenas tardes; debido a mi trabajo, necesito pasar de una maquina un archivo a mi laptop; esta maquina tiene un puerto serie (rs 232); es mucho mas facil copiar de maquina a maquina; solo configuro una para enviar, la otra para recibir y listo; pero las maquinas son muy sensibles y un ligero sacudimiento (como cuando no ves un bache); hace que las maquinas se autoprotejan y se les borre la memoria; por eso quiero tener el archivo en una memoria USB; pero primero necesito pasar el archivo, O.K. tengo mi la maquina en modo enviar y conectada al puerto serie de mi laptop;pero no pasa nada; ahora como le digo a ni laptop que se prepare a recibir un archivo por el puerto serie???

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: