给个例子你:
Open sFileName For Binary As #1
lngPicSize = LOF(1)
lngOffset = 0
Do While lngOffset < lngPicSize
lngChunkSize = IIf(lngPicSize - lngOffset < conChunkSize, lngPicSize - lngOffset, conChunkSize)
ReDim myArray(lngChunkSize - 1)
Get #1, , myArray()
rs.Fields("capture").AppendChunk myArray()
lngOffset = lngOffset + lngChunkSize
Loop
Close #1
Open sFileName For Binary As #1
lngPicSize = LOF(1)
lngOffset = 0
Do While lngOffset < lngPicSize
lngChunkSize = IIf(lngPicSize - lngOffset < conChunkSize, lngPicSize - lngOffset, conChunkSize)
ReDim myArray(lngChunkSize - 1)
Get #1, , myArray()
rs.Fields("capture").AppendChunk myArray()
lngOffset = lngOffset + lngChunkSize
Loop
Close #1
[email protected]
Public Sub SaveImageToDB(Rs As ADODB.Recordset, Col As Long, strImageFile As String)
Dim stm As ADODB.Stream
Set stm = New ADODB.Stream
stm.Type = adTypeBinary
stm.Open
stm.LoadFromFile strImageFile
Rs.Fields(Col).Value = stm.Read
Rs.Update
stm.Close
Set stm = Nothing
End Sub'从数据库中读取图片(Adodb.Stream)
Public Function GetImageFromDB(Rs As ADODB.Recordset, Col As Long, strImageFile As String) As Boolean
On Error GoTo ErrExit
If IsNull(Rs.Fields(Col).Value) Then
GoTo ErrExit
Else
Dim stm As ADODB.Stream
Set stm = New ADODB.Stream
stm.Type = adTypeBinary
stm.Open
stm.Write Rs.Fields(Col).Value
stm.SaveToFile strImageFile, adSaveCreateOverWrite
stm.Close
Set stm = Nothing
End If
GetImageFromDB = True
Exit Function
ErrExit:
GetImageFromDB = False
End Function