MaikelO1 Ответов: 1

C# post файл в WEB API


Я использую приложение TE POSTMAN для загрузки файла в API,
теперь я действительно хочу сделать POST commando на c#, как я могу сделать это наиболее эффективным способом?

url "192.168.0.1 / api / files"

Заголовок
ключ= авторизация, значение = " 123456"

Виде FormData
ключ= файлы, значение = & lt;Файл>
ключ= информация, значение = &ЛТ;{"DocName": "тест"}&ГТ;

если статус = = 200
Приставка.WriteLine ("ОК");
ещё
Приставка.WriteLine ("ошибка" + ответ.StatusCode +": сообщение - " + ответ.ReasonPhrase);

Что я уже пробовал:

HttpClient client = новый HttpClient();
клиент.BaseAddress = новый Uri("https:///api.ontriz.com/files");
клиент.DefaultRequestHeaders.TryAddWithoutValidation ("Авторизация", " 123456");

но тогда??

F-ES Sitecore

Google "c# post file web api", и я уверен, что вы найдете код

MaikelO1

спасибо за ваш комментарий. не пробовал, но, к сожалению, с результатом ошибки

1 Ответов

Рейтинг:
1

Richard Deeming

Используйте Класс MultipartFormDataContent[^]:

using (var form = new MultipartFormDataContent())
using (var stream = File.OpenRead(@"Path\To\Your\File.ext"))
using (var streamContent = new StreamContent(stream))
{
    form.Add(streamContent, "files");
    form.Add(new StringContent("<{\"DocName\": \"Test\"}>"), "Info");
    response = await client.PostAsync(null, form);
}