@kir_cipher

Как правильно передать POST-запрос с полем «file», содержащим передаваемый на сервер файл?

Доброго дня всем!
Спустя полгода решил переписать своего старенького ВК-бота. В процессе этого обнаружил, что они изменили правила аплоада файлов на сервер и просто webClient.UploadFile() больше не прокатывает.
"Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем file. Это поле должно содержать файл в формате multipart/form-data." - вот, что они ныне просят. С POST-запросами я достаточно редко сталкиваюсь, так что не совсем понимаю, как туда запихнуть данные о файле. Помогите, пожалуйста, верно сформировать этот самый post-запрос

Делаю так, подскажите, что тут неверно, ибо Result возвращается пустой строкой!
var uri = new Uri(uploadURL);
                var content = new MultipartFormDataContent();
                var t = new StreamContent(File.OpenRead(path));
                t.Headers.ContentType
                    = new System.Net.Http.Headers.MediaTypeHeaderValue("multipart/form-data");
                content.Add(t, "file", "testiks.jpg");
                var response = PostBuffer(uri, content);
                response.Wait();


Метод PostBuffer:

private async Task<string> PostBuffer(Uri uploadURL, MultipartFormDataContent content)
        {
            var baseAddress = uploadURL;
            var cookieContainer = new CookieContainer();
            using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
            using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
            {
                client.DefaultRequestHeaders.Add("User-Agent", "Mozilla 228");
                var response = await client.PostAsync(uploadURL, content);
                return await response.Content.ReadAsStringAsync();
            }
        }
  • Вопрос задан
  • 649 просмотров
Пригласить эксперта
Ответы на вопрос 1
Moskvichev
@Moskvichev
kir_cipher Не расскажешь чем кончилось? сам ломаю голову над той же проблемой, а знаний в о POST-запросах и, тем более, про multipart/form-data чуть меньше чем ничего:(
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы