Отправка POST запроса с файлом и параметрами - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Не могу разобраться с отправкой параметров + файл. Файл:
Листинг программы
  1. StringBuilder sendData = new StringBuilder();
  2. using (FileStream f_txt = new FileStream(t_l_p, FileMode.Open)) //t_l_p - путь к файлу
  3. {
  4. sendData.Append("File=" + f_txt.ToString());
  5. }
  6. byte[] byteData = Encoding.ASCII.GetBytes(sendData.ToString());
  7. send.ContentLength = byteData.Length;
  8. using (Stream sendStream = send.GetRequestStream())
  9. {
  10. sendStream.Write(byteData, 0, byteData.Length);
  11. }
Вопрос как в одном запросе передать и файл и параметры? Побывал так:
Листинг программы
  1. //...
  2. sendData.Append("File=" + f_txt.ToString());
  3. sendData.Append(Parameter1); // Parameter1 имеет вид "var1=hostname"; и т.д.
  4. sendData.Append(Parameter2);
  5. //...
не получилось...

Решение задачи: «Отправка POST запроса с файлом и параметрами»

textual
Листинг программы
  1. string Parameters = Parameter1 + "&" + Parameter2 + "&" + Parameter3 + "&" + Parameter4 + "&" + Parameter5 + "&" + Parameter6 + "&" + Parameter7 + "&" + Parameter8;
  2. System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
  3. req.ContentType = "application/x-www-form-urlencoded";
  4. req.Method = "POST";
  5.  
  6. byte[] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters);
  7. req.ContentLength = bytes.Length;
  8. System.IO.Stream os = req.GetRequestStream(); // создаем поток
  9. os.Write(bytes, 0, bytes.Length); // отправляем
  10. os.Close();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут