' Build the trailing boundary string as a byte array
' ensuring the boundary appears on a line by itself
Dim boundaryBytes As Byte() = Encoding.ASCII.GetBytes(vbCrLf & "--" & _
boundary & "--" & vbCrLf)
'open file1 to upload
Dim fileStream As New FileStream(strUploadUPG, FileMode.Open, _
FileAccess.Read)
'open file2 to upload
Dim fileStream2 As New FileStream(strUploadMD5, FileMode.Open, _
FileAccess.Read)
'calculate length of POST
Dim length As Long = postHeaderBytes.Length + fileStream.Length + _
postHeaderBytesa.Length + fileStream2.Length + postFootBytes.Length + _
boundaryBytes.Length
webrequest.ContentLength = length
'contact server with POST 1.0
Dim requestStream As Stream = webrequest.GetRequestStream()
' Write out header to server
requestStream.Write(postHeaderBytes, 0, postHeaderBytes.Length)
''Application.DoEvents()
' Write out the file contents to server in chunks of 4K
Dim buffer() As Byte
ReDim buffer(Math.Min(4095, fileStream.Length))
Dim bytesRead = 1 'initialize to any number except 0
While bytesRead <> 0
bytesRead = fileStream.Read(buffer, 0, buffer.Length)
If bytesRead <> 0 Then 'make sure EOF is not reached
requestStream.Write(buffer, 0, bytesRead)
End If
'Application.DoEvents()
End While
requestStream.Write(postHeaderBytesa, 0, postHeaderBytesa.Length)
Dim buffer2() As Byte
ReDim buffer2(Math.Min(4095, fileStream2.Length))
Dim bytesRead2 = 1 'initialize to any number except 0
While bytesRead2 <> 0
bytesRead2 = fileStream2.Read(buffer2, 0, buffer2.Length)
If bytesRead2 <> 0 Then 'make sure EOF is not reached
requestStream.Write(buffer2, 0, bytesRead2)
End If
'Application.DoEvents()
End While
'Write PostFoot
requestStream.Write(postFootBytes, 0, postFootBytes.Length)
' Write out the trailing boundary
requestStream.Write(boundaryBytes, 0, boundaryBytes.Length)
requestStream.Close()
'webrequest.Timeout = 2001000
Debug.WriteLine("gesendet und warte auf Antwort")
Application.DoEvents()
'collect server response & convert to ASCII
Dim response As WebResponse = webrequest.GetResponse()
Dim s As Stream = response.GetResponseStream()
Dim sr As New StreamReader(s)
Debug.WriteLine(sr.ReadToEnd)
'Return sr.ReadToEnd()
End Sub Es wird zuerst die Firmware datei hochgeladen und danach das md5 File.
Danke |