March 2007 - Posts

 

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

 

Posted by peplluis | 3 comment(s)
Filed under: