Вызовите API POST из ядра .net с Content-Type: multipart / form-data - PullRequest
0 голосов
/ 06 марта 2019

Мне нужно вызвать post api из моего основного веб-приложения .net, которое принимает параметр как данные формы. Я могу вызвать API из почтового менеджера, но я получаю сообщение об ошибке при вызове из основного приложения .net. Посмотрите на мой код ниже и параметры из сообщения man.

// POST api/values
    [HttpPost]
    public async Task Post()
    {
        using (HttpClient client = new HttpClient())
        {
            // Call asynchronous network methods in a try/catch block to handle exceptions
            try 
            {
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Authorization = 
                    new AuthenticationHeaderValue(
                        "Bearer", 
                        "**************************************");
                var multiContent = new MultipartFormDataContent();
                multiContent.Add(new StringContent("Test Name"), "Name");
                multiContent.Add(new StringContent("Test Type"), "Type");
                multiContent.Add(new StringContent("100"), "Min");
                multiContent.Add(new StringContent("100"), "Max");
                multiContent.Add(new StringContent("100"), "Amount");

                HttpResponseMessage response = await 
                client.PostAsync
                ("https://test/api"
                , multiContent);

                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();

                Console.WriteLine(responseBody);
            }  
            catch(HttpRequestException e)
            {
                Console.WriteLine("\nException Caught!");   
                Console.WriteLine("Message :{0} ",e.Message);
            }
        }
    }

enter image description here

...