Tenho pesquisado e lido sobre isso e não consegui encontrar nada realmente útil.
Estou escrevendo um pequeno aplicativo C # win que permite ao usuário enviar arquivos para um servidor web, não por FTP, mas por HTTP usando POST. Pense nisso como um formulário da web, mas em execução em um aplicativo do Windows.
Eu tenho meu objeto HttpWebRequest criado usando algo assim
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest
e também definir as Method
, ContentType
e ContentLength
propriedades. Mas isso é o mais longe que posso ir.
Este é o meu código:
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.KeepAlive = false;
req.Method = "POST";
req.Credentials = new NetworkCredential(user.UserName, user.UserPassword);
req.PreAuthenticate = true;
req.ContentType = file.ContentType;
req.ContentLength = file.Length;
HttpWebResponse response = null;
try
{
response = req.GetResponse() as HttpWebResponse;
}
catch (Exception e)
{
}
Portanto, a minha pergunta é basicamente como posso enviar um arquivo (arquivo de texto, imagem, áudio, etc) com C # via HTTP POST.
Obrigado!