-2
これはポストvb.netポストイメージファイルPHPのリターン0
Public Function sendHttpRequest(url As String, values As NameValueCollection, Optional files As NameValueCollection = Nothing) As String
Dim boundary As String = "----------------------------" + DateTime.Now.Ticks.ToString("x")
Dim boundaryBytes As Byte() = System.Text.Encoding.UTF8.GetBytes((Convert.ToString(vbCr & vbLf & "--") & boundary) + vbCr & vbLf)
Dim trailer As Byte() = System.Text.Encoding.UTF8.GetBytes((Convert.ToString(vbCr & vbLf & "--") & boundary) + "--" & vbCr & vbLf)
Dim boundaryBytesF As Byte() = System.Text.Encoding.ASCII.GetBytes((Convert.ToString("--") & boundary) + vbCr & vbLf)
Dim request As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
request.ContentType = Convert.ToString("multipart/form-data; boundary=") & boundary
request.Method = "POST"
request.KeepAlive = True
request.Credentials = System.Net.CredentialCache.DefaultCredentials
Dim requestStream As Stream = request.GetRequestStream()
For Each key As String In values.Keys
Dim cntDisp = "Content-Disposition: form-data; name=""{0}"";" & vbCr & vbLf & vbCr & vbLf & "{1}"
Dim formItemBytes As Byte() = System.Text.Encoding.UTF8.GetBytes(String.Format(cntDisp, key, values(key)))
requestStream.Write(boundaryBytes, 0, boundaryBytes.Length)
requestStream.Write(formItemBytes, 0, formItemBytes.Length)
Next
If files IsNot Nothing Then
For Each key As String In files.Keys
If File.Exists(files(key)) Then
Dim bytesRead As Integer = 0
Dim buffer As Byte() = New Byte(2047) {}
Dim cnt As String = "Content-Disposition: form-data; name=""{0}""; filename=""{1}""" & vbCr & vbLf
Dim cntype As String = "Content-Type: application/octet-stream" & vbCr & vbLf & vbCr & vbLf
Dim formItemBytes As Byte() = System.Text.Encoding.UTF8.GetBytes(String.Format(cnt & cntype, key, files(key)))
requestStream.Write(boundaryBytes, 0, boundaryBytes.Length)
requestStream.Write(formItemBytes, 0, formItemBytes.Length)
Using fileStream As New FileStream(files(key), FileMode.Open, FileAccess.Read)
While (bytesRead = fileStream.Read(buffer, 0, buffer.Length)) <> 0
requestStream.Write(buffer, 0, bytesRead)
End While
fileStream.Close()
End Using
End If
Next
End If
requestStream.Write(trailer, 0, trailer.Length)
requestStream.Close()
Dim reader As New StreamReader(request.GetResponse().GetResponseStream())
res = reader.ReadToEnd()
Return res
End Function
を作るための機能である私は、私は簡単なのvar_dump($を得た私のPHPファイルに
Dim Path As String = "C:\dir\temp\"
Dim fileLocation As String = Path + "FacePictureL.Jpeg"
Dim fileLocation2 As String = Path + "LH1.Jpeg"
Dim values As New NameValueCollection()
Dim files As New NameValueCollection()
values.Add("load", "OnPost")
values.Add("value2", "value2")
files.Add("FacePictureL", fileLocation)
files.Add("LH1", fileLocation2)
Dim sendData As New DataUpload()
Dim response = sendData.sendHttpRequest("http://127.0.0.1/php/test/index.php", values, files)
MsgBox(response)
TextBox1.Text = response
でそれを呼び出します私はあなたに私の提案を与えることができますか?私はあなたが私に何かを与えることができますか? 、 ありがとうございました。
なぜC#タグを追加しましたか? – mok
関数がC#でvbに変換されました 問題が変換エラーの可能性があり、誰かが私を導くことができると仮定します。敬具 –