quarta-feira, 21 de novembro de 2001

Arquivo -> BLOB: Copie o conteudo de um arquivo para um campo BLOB

' Este codigo copia o conteudo de um arquivo para um campo BLOB.


Sub FileToBlob(fld As ADODB.Field, filename As String, _
    Optional ChunkSize As Long = 8192)
    Dim fnum As Integer, bytesLeft As Long
    Dim bytes As Long
    Dim tmp() As Byte
   
    ' Gera erro se o campo nao suporta o GetChunk.
    If (fld.Attributes And adFldLong) = 0 Then
        Err.Raise 1001, , "Field doesn't support the GetChunk method."
    End If


    ' Abre o arquivo; Gera erro se ele nao existir.
    If Dir$(filename) = "" Then Err.Raise 53, , "Ops! Arquivo nao encotrado."
   
    fnum = FreeFile
    Open filename For Binary As fnum


    ' Le o arquivo em pedacos e inclui dados ao campo BLOB.
    bytesLeft = LOF(fnum)
    Do While bytesLeft
        bytes = bytesLeft
        If bytes > ChunkSize Then bytes = ChunkSize
        ReDim tmp(1 To bytes) As Byte
        Get #1, , tmp
        fld.AppendChunk tmp
        bytesLeft = bytesLeft - bytes
    Loop
   
    Close #fnum
End Sub



Esta matéria foi postada originalmente no ASP4Developers por Valmir Cinquini (site), que na época era "Analista/Programador C#, VB.Net, ASP, VB, Javascript e T-SQL

www.cinquini.com.br/vcinquini>". Hoje, vai saber...

0 comentários: