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)

Leave a Comment

(required) 
(required) 
(optional)
(required)