devxlogo

FileToBlob – Copy a file’s contents into a BLOB field

FileToBlob – Copy a file’s contents into a BLOB field

' Copy a file's contents into a BLOB field.Sub FileToBlob(fld As ADODB.Field, filename As String, _    Optional ChunkSize As Long = 8192)    Dim fnum As Integer, bytesLeft As Long, bytes As Long    Dim tmp() As Byte        ' Raise an error if the field doesn't support GetChunk.    If (fld.Attributes And adFldLong) = 0 Then        Err.Raise 1001, , "Field doesn't support the GetChunk method."    End If    ' Open the file; raise an error if the file doesn't exist.    If Dir$(filename) = "" Then Err.Raise 53, , "File not found"        fnum = FreeFile    Open filename For Binary As fnum    ' Read the file in chunks, and append data to the field.    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 #fnumEnd Sub

devx-admin

Share the Post: