Чтобы загрузить файл с помощью HttpWebRequestв C#, вы можете использовать несколько методов. Вот несколько примеров:
Метод 1: использование HttpWebRequestс Stream
string url = "http://example.com/upload";
string filePath = "path/to/file.jpg";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
using (Stream requestStream = request.GetRequestStream())
{
fileStream.CopyTo(requestStream);
}
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Метод 2: использование HttpClient(доступно в.NET Framework 4.5+ и.NET Core)
string url = "http://example.com/upload";
string filePath = "path/to/file.jpg";
using (HttpClient client = new HttpClient())
{
using (MultipartFormDataContent formData = new MultipartFormDataContent())
{
using (FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
formData.Add(new StreamContent(fileStream), "file", Path.GetFileName(filePath));
HttpResponseMessage response = await client.PostAsync(url, formData);
// Handle the response
}
}
}
Метод 3. Использование WebClient(более простой подход)
string url = "http://example.com/upload";
string filePath = "path/to/file.jpg";
using (WebClient client = new WebClient())
{
client.UploadFile(url, filePath);
}
Обратите внимание, что во всех описанных выше методах вам необходимо заменить "http://example.com/upload"фактическим URL-адресом, по которому вы хотите загрузить файл. Кроме того, убедитесь, что у вас есть соответствующие разрешения и правильно обрабатываете исключения.