Sim, é possível usar a classe WebClient
para fazer upload de arquivos, mas ela é mais limitada em comparação com HttpClient
e pode ser um pouco mais complexa. Aqui está um exemplo de como você poderia fazer isso com WebClient
:
Dim API As String = "47c1b6b8aa9c2245"
Dim UploadFile As String = "C:\Users\testefile.exe"
Dim API_URL As String = "https://site"
Using client As New WebClient()
client.Headers.Add("X-Auth-Token", API)
' Cria a QueryString para enviar os parâmetros adicionais
Dim queryString As New NameValueCollection()
queryString.Add("nameargg", "all")
' Faz o upload do arquivo com a QueryString
client.QueryString = queryString
Dim responseBytes As Byte() = client.UploadFile(API_URL, UploadFile)
Dim responseString As String = Encoding.UTF8.GetString(responseBytes)
Console.WriteLine(responseString)
End Using
O WebClient
não suporta nativamente o envio de conteúdo multipart/form-data de forma tão flexível quanto HttpClient.