网络中传送图片

来源:互联网 发布:安卓苹果数据迁移 编辑:程序博客网 时间:2024/04/29 12:36
我也做过一个类似的东西,我是这么考虑的,先把图片以二进制形式读到一个字节数组中,然后进行精确的分割,用WINSOCK进行传送,然后再在接受的一端将接受到的数据重新组装成文件保存在硬盘上,这样你就可以从硬盘上读文件了:


Private Sub Command1_Click()
Dim fname As String '要发送的文件的文件名
Dim byt() As Byte '用于存放文件二进制数据的数组
Dim flen As Long '文件的长度
Dim sendbuffer() As Byte '发送缓寸区


Dim i, n As Long


PACKSIZE = Val(Trim(Text1.Text)) '这个是定义一个数据包的大小,我从文本框中自 己填的,比如1024
fname = Trim(filetxt.Text)
flen = FileLen(fname)
Open fname For Binary As #99
ReDim Preserve byt(1 To flen)
Get #99, , byt() '一次读取全部文件字节数
DoEvents
Close #99
Do Until n >= flen n表示目前读到的字节的位置
If n + PACKSIZE > flen Then
For i = 1 To flen - n
ReDim Preserve sendbuffer(1 To i)
sendbuffer(i) = byt(n + i)
Next i
Sendwsck.SendData sendbuffer()
Else
For i = 1 To PACKSIZE
ReDim Preserve sendbuffer(1 To i)
sendbuffer(i) = byt(n + i)
Next i
Sendwsck.SendData sendbuffer()
End If
n = n + PACKSIZE
DoEvents
Loop
End Sub