parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. {"exception":"[object] (ErrorException(code: 0): parse_str(): Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. at C:\\xampp\\htdocs\\CramSchoolSystem\\vendor\\symfony\\http-foundation\\HeaderUtils.php:237)
Public Class cParameter
Public Property Name As String
Public Property Value As Object
Sub New(name As String, value As Object)
Me.Name = name
Me.Value = value
End Sub
End Class
Public Sub SendRequest()
Dim url As String = "http://127.0.0.1:8000/"
Dim param As New List(Of cParameter)
Dim enc As System.Text.Encoding = System.Text.Encoding.UTF8
Dim filePath As String
Dim fileDirectory As String = "E:\"
Dim fileName As String = "test.csv"
filePath = fileDirectory & fileName
'区切り文字列
Dim boundary As String = System.Environment.TickCount.ToString()
Dim req As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
req.Headers.Add("Authorization", "Bearer " & "事前に発行したLaravel SanctumのAPIトークン")
req.Method = "POST"
req.ContentType = "multipart/form-data; boundary=" + boundary
'POST送信するデータを作成
Dim postData As String = ""
'キー値等のパラメータ
param.Add(New cParameter("id", 1))
For Each item As cParameter In param
postData &= "--" & boundary & vbCrLf & "Content-Disposition: form-data; name=""" & item.Name & """" & vbCrLf & vbCrLf & item.Value.ToString() & vbCrLf
Next
postData &= "--" + boundary + vbCrLf + "Content-Disposition: form-data; name=""upfile""; filename=""" + fileName + """" + vbCrLf +
"Content-Type: application/octet-stream" + vbCrLf + "Content-Transfer-Encoding: binary" + vbCrLf + vbCrLf
'バイト型配列に変換
Dim startData As Byte() = enc.GetBytes(postData)
postData = vbCrLf + "--" + boundary + "--" + vbCrLf
Dim endData As Byte() = enc.GetBytes(postData)
'送信するファイルを開く
Dim fs As New System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read)
req.ContentLength = startData.Length + endData.Length + fs.Length
'データをPOST送信するためのStreamを取得
Using reqStream As System.IO.Stream = req.GetRequestStream()
'送信するデータを書き込む
reqStream.Write(startData, 0, startData.Length)
'ファイルの内容を送信
Dim readData(&H1000) As Byte
Dim readSize As Integer = 0
While True
readSize = fs.Read(readData, 0, readData.Length)
If readSize = 0 Then
Exit While
End If
reqStream.Write(readData, 0, readSize)
End While
fs.Close()
reqStream.Write(endData, 0, endData.Length)
reqStream.Close()
End Using
'サーバーからの応答を受信するためのWebResponseを取得
Dim res As System.Net.HttpWebResponse = CType(req.GetResponse(), System.Net.HttpWebResponse)
'応答データを受信するためのStreamを取得
Using resStream As IO.Stream = res.GetResponseStream()
'受信して表示
Dim sr As New System.IO.StreamReader(resStream, enc)
Console.WriteLine(sr.ReadToEnd())
'閉じる
sr.Close()
resStream.Close()
End Using
End Sub
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/07/14 07:42
2022/07/14 10:37
2022/07/15 00:33