以下是代码,目前这个代码是默认保存在C盘,能否有类似让用户另存为的代码。
On Error GoTo handleErr
Dim rs As ADODB.Recordset
Dim mstream As ADODB.Stream
Dim strSql As String
Dim abc As Boolean
Dim bytFile() As ByteSet rs = New ADODB.Recordset
strSql = "select * from t_accessory where FID=7 "
abc = k3Appcon.ExecuteRs(strSql, rs)
If (abc) Then
If (rs("FData").ActualSize > 1) Then '判断是否为空
'保存到文件
bytFile = rs.Fields("FData").Value Set mstream = New ADODB.Stream
With mstream
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
' .Write rs("FData")
.Write bytFile
.SaveToFile "C:\hj.txt"
End With
'关闭对象
rs.Close
mstream.CloseEnd If
End If
Exit Sub
handleErr:
MsgBox Err.Description
End Sub
On Error GoTo handleErr
Dim rs As ADODB.Recordset
Dim mstream As ADODB.Stream
Dim strSql As String
Dim abc As Boolean
Dim bytFile() As ByteSet rs = New ADODB.Recordset
strSql = "select * from t_accessory where FID=7 "
abc = k3Appcon.ExecuteRs(strSql, rs)
If (abc) Then
If (rs("FData").ActualSize > 1) Then '判断是否为空
'保存到文件
bytFile = rs.Fields("FData").Value Set mstream = New ADODB.Stream
With mstream
.Mode = adModeReadWrite
.Type = adTypeBinary
.Open
' .Write rs("FData")
.Write bytFile
.SaveToFile "C:\hj.txt"
End With
'关闭对象
rs.Close
mstream.CloseEnd If
End If
Exit Sub
handleErr:
MsgBox Err.Description
End Sub
你要“另存”,直接用FileCopy不就行了?
Call FileCopy("源文件路径", "目标位置路径")“文件路径”最好是用“全路径”的方式,免得“当前路径”不明确,造成找不到源文件,或者没复制到想要的地方去……
推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。
数据库image字段值:
0x78DA3334440389B881112600002A0B113300VB代码段:
' rsrs("FData")是读出的Image数据类型字段
Dim LngFileLen As Long, BytFile() As Byte
LngFileLen = rsrs("FData").ActualSize
If LngFileLen > 0 Then
ReDim BytFile(LngFileLen)
BytFile = rsrs("FData").GetChunk(LngFileLen)
lngFreeFile = FreeFile
Open "c:/a.txt" For Binary Access Write As lngFreeFile
Put lngFreeFile, , BytFile()
Close lngFreeFile
'写数据成功标志
CreateJZFile = True
MsgBox CreateJZFile
End If下载的a.txt文本结果:
x趀愝N翤咃Ixa锥衹煫羊#ァb m攧
bZK厳儋]畑3{3g3缣7囃2K?岛僡礡瑻颪N噇驥仄<{肨}G|硸SW??髅4蘖I?檦蔣棫n纞'芶F5?B雽諱
泲论_@`?光壪?筿莫嫑€鉈'呧茷
w*帉孪捱吼豒?誺YSOm冃"轠?@Ob0頊0釉?+硠稃k5钿墠%OFe[Λ?Z
/B%P绥rw攀裬敱T耓??E?Oi?%?i??("脴晨@:
"???o???▔
上传的txt内容:数据库image存储的结果
0x78DA0165009AFF20312E424F5320BCD3BAC5B5A5B1EDD2BBD0D0B7D6C1BDD0D00D0A0D0A322EC1D0D6AEBCE4B5C4B9D8CFB528CAF4D0D4C0EFCCEDBCD3A1AFCAC2BCFEA1AE290D0A0D0A332E6D697372736F66742064616F20332E3628D5EBB6D4B5F7D3C361636565737329720C3724
下载的txt内容:测试数据如果是excel或word就全部是乱码,图片就无法打开
0x78DA0165009AFF20312E424F5320BCD3BAC5B5A5B1EDD2BBD0D0B7D6C1BDD0D00D0A0D0A322EC1D0D6AEBCE4B5C4B9D8CFB528CAF4D0D4C0EFCCEDBCD3A1AFCAC2BCFEA1AE290D0A0D0A332E6D697372736F66742064616F20332E3628D5EBB6D4B5F7D3C361636565737329720C3724上面这段“编码”,红色部分是“多余的内容”,中间黑色部分就是你的“原文”。
把头、尾去掉就行了,说不定那两部分都是“固定长度”的。