quarta-feira, 21 de novembro de 2001

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

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

Sub BlobToFile(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, , "Campo nao suporta o metodo GetChunk."
End If

' Apaga o arquivo se ele ja existe

' e cria um novo.

If Dir$(filename) <> "" Then Kill filename

fnum = FreeFile
Open filename For Binary As fnum
' Le o conteudo e escreve os dados no arquivo.
bytesLeft = fld.ActualSize

Do While bytesLeft
bytes = bytesLeft
If bytes > ChunkSize Then bytes = ChunkSize
tmp = fld.GetChunk(bytes)
Put #fnum, , 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: