mark post上传文件
看懂代码,你加入你对应的代码即可。
Dim file As String = "c:\test.txt"
Dim responseContent As String
Dim memStream As New IO.MemoryStream
Dim webRequest = System.Net.HttpWebRequest.Create("http://localhost:8080")
'边界符
Dim boundary As String = "---------------" + DateTime.Now.Ticks.ToString("x")
Dim beginBoundary As Byte() = Encoding.ASCII.GetBytes("--" & boundary & vbCrLf)
Dim endBoundary As Byte() = Encoding.ASCII.GetBytes(vbcrlf & "--" & boundary & "--" & vbcrlf)
Dim fileStream As new IO.FileStream(file, io.FileMode.Open, io.FileAccess.Read)
'设置属性
webRequest.Method = "POST"
webRequest.Timeout = 5000
webRequest.ContentType = "multipart/form-data; boundary=" & boundary
memStream.Write(beginBoundary, 0, beginBoundary.Length)
'写入文件1
Dim header As String = "Content-Disposition: form-data; name=""file"";filename=""" & FileIO.FileSystem.GetName(file) & """" & vbCrLf & "Content-Type: application/octet-stream" & vbCrLf & vbCrLf
Dim headerbytes As Byte() = Encoding.UTF8.GetBytes(header)
memStream.Write(headerbytes, 0, headerbytes.Length)
Dim buffer(1024) As Byte
Dim bytesRead As Integer = fileStream.Read(buffer, 0, buffer.Length)
While bytesRead > 0
memStream.Write(buffer, 0, bytesRead)
bytesRead = fileStream.Read(buffer, 0, buffer.Length)
End While
'写入最后的结束边界符
memStream.Write(endBoundary, 0, endBoundary.Length)
webRequest.ContentLength = memStream.Length
Dim requestStream = webRequest.GetRequestStream
memStream.Position = 0
Dim tempBuffer(memStream.Length - 1) As Byte
memStream.Read(tempBuffer, 0, tempBuffer.Length)
memStream.Close()
requestStream.Write(tempBuffer, 0, tempBuffer.Length)
requestStream.Close()
msgbox(5)
Dim httpWebResponse As Net.WebResponse = webRequest.GetResponse
msgbox(6)
Dim httpStreamReader As new Io.StreamReader(httpWebResponse.GetResponseStream, Encoding.GetEncoding("utf-8"))
responseContent = httpStreamReader.ReadToEnd
fileStream.Close()
httpWebResponse.Close()
webRequest.Abort()
msgbox( responseContent)
[此贴子已经被作者于2016/7/21 16:39:39编辑过]