‘发送代码
Public Function outFiles(filePath As String)
Dim outFile() As Byte
Dim outPath As String
Dim outFileLen As Double
Dim outFileStar As Double
Dim lngN As Double
Dim outN As Double
Dim outFree As Long
Dim i As Long
'检查是否与服务器连接
If wskCPost.State = 7 Then
outPath = filePath
outFileLen = FileLen(outPath)
outN = outFileLen / 7000 + 1
objJD.Max = outN
dblJD = 0
objJD.Value = 0
For i = 0 To outN - 1
objJD.Value = i
If i = outN - 1 Then
lngN = outFileLen - outFileStar + 1
Else
lngN = 7000
End If
ReDim outFile(1 To lngN)
If outFileStar = 0 Then outFileStar = 1
outFree = FreeFile
Open outPath For Binary As #outFree
Get #outFree, outFileStar, outFile
Close #outFree
outFileStar = outFileStar + UBound(outFile)
wskCPost.SendData outFile
DoEvents
Next
End If
End Function
‘接收代码
‘-----------------------------------------------------------------------------------------------------'接收二进制文件
myPath = VB.App.Path & "/tmpFiles/" & listenN(index).fileName
ReDim inFile(bytestotal)
wskSPost(index).GetData inFile, vbArray + vbByte
myFree = FreeFile
Open myPath For Binary As #myFree '新建或打开文件
'将收到的数据写入新文件中
listenN(index).infileLen = fileLen(myPath) + 1
Put #myFree, listenN(index).infileLen, inFile
Close #myFree '关闭
'记录文件长度
If fileLen(myPath) + 1 >= listenN(index).fileLen Then
'接收完成,将接收类型改为字符型
listenN(index).fileLX = 0
listenN(index).fileLen = 0
listenN(index).infileLen = 0
wskSPost(index).SendData "endf" '文件接收完毕,向客户端发送确认
End If
‘----------------------------------------------------------------------------------------------------