Как отправить файл по http из программы на C#?

Нужно отправить файл из приложения на C# на веб сервер и потом принять данные. Смотрю примеры, но не работает. Как организовать отправку фала?

Я делаю так

string uri = "http://mysite/api/postfile";
            string localPath = @"c:\path_to_file.doc";
            var parameters = new System.Collections.Specialized.NameValueCollection()
            {
                { "parametr1", "parametr1_Value" }
            };

            using (var client = new WebClient())
            {
                client.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
                client.QueryString = parameters;
                var responseBytes = client.UploadFile(uri, localPath);
                var response = Encoding.UTF8.GetString(responseBytes);
                Console.WriteLine("\n Ответ \n {0}", response);
            }

На сервере принимает контроллер

public class PostFileController : Controller
    {
        [HttpPost]
        public ActionResult Index(HttpPostedFileBase upload)
        {
            //Вот здесь я хочу принять файл и записать его
            return Content("ура- файл записан"); 

        }
    }
  • Вопрос задан
  • 2073 просмотра
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
А где в примерах просят заголовки менять?
Тут не меняют.
Для больших бинарных данных всегда используется multipart/form-data
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы