C# HttpClient MultipartFormDataContent отправляет целочисленные значенияC#

Место общения программистов C#
Ответить
Anonymous
 C# HttpClient MultipartFormDataContent отправляет целочисленные значения

Сообщение Anonymous »

Я тестировал этот API и могу заставить его работать только при использовании этого RestClient. Этот RestClient хочет установить около 20 других пакетов в мой проект, поэтому я хотел бы, чтобы он работал с HttpClient. Я считаю, что эта ошибка возникает из-за статуса и приоритета двух целых чисел, и помощь была бы отличной.
GitHub
https://github.com/freshworks /fresh-samples/blob/master/C-Sharp/CreateTicketWithAttachment.cs
Работает:
var options = new RestClientOptions(_freshdeskUrl)
{
Authenticator = new HttpBasicAuthenticator(apiKey, "X")
};
var client = new RestClient(options);

var request = new RestRequest("", Method.Post);

request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "multipart/form-data");
request.AddParameter("email", "tom@outerspace.com");
request.AddParameter("subject", "panel can't see files");
request.AddParameter("description", "confirm whether received");
request.AddParameter("name", "Name");
request.AddParameter("status", "2");
request.AddParameter("priority", "1");

var response = client.Execute(request);

Console.WriteLine(response);

Не работает:
HttpClient httpClient = new HttpClient();
string authInfo = apiKey + ":X";
var byteArray = new UTF8Encoding().GetBytes(authInfo);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
MultipartFormDataContent form = new MultipartFormDataContent();
form.Add(new StringContent("panel can't see files"), "username");
form.Add(new StringContent("tom@outerspace.com"), "email");
form.Add(new StringContent("confirm whether received"), "description");
form.Add(new StringContent("2"), "status");
form.Add(new StringContent("1"), "priority");

HttpResponseMessage response = await httpClient.PostAsync(_freshdeskUrl, form);

//response.EnsureSuccessStatusCode();
httpClient.Dispose();


Подробнее здесь: https://stackoverflow.com/questions/790 ... ger-values
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»