Здравствуйте, Privalov, Вы писали:
P>Там, где я задал вопрос про отправку файла с помощью httpClient, все примеры кода не работали.
Вот в том то и дело — вы уже потеряли. Порылся в истории GPT — вот последний код, который оно выдало:
| | Скрытый текст |
| | static async Task UploadAsync(string url, string filePath)
{
using (var httpClient = new HttpClient())
{
try
{
// Установка заголовка авторизации без схемы 'Bearer'
httpClient.DefaultRequestHeaders.Add("Authorization", "testkey");
using (var content = new MultipartFormDataContent("8dcf3906305b7f8")) // Устанавливаем границу вручную
{
var fileContent = new ByteArrayContent(File.ReadAllBytes(filePath));
fileContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");
content.Add(fileContent, "file", Path.GetFileName(filePath));
// Отключаем заголовок 'Expect: 100-continue'
var request = new HttpRequestMessage(HttpMethod.Post, url)
{
Content = content
};
request.Headers.ExpectContinue = false;
var response = await httpClient.SendAsync(request);
response.EnsureSuccessStatusCode();
}
}
catch (HttpRequestException httpEx)
{
// Обработка исключения
}
}
}
|
| | |
Ссылка:
https://chatgpt.com/share/671916f5-85fc-8000-8407-ddf44ad105e7
S>>Если заголовки и тело совпадает — то какой ответ вы хотите найти?
P>Попробуйте повторить этот тезис ещё сотню-другую раз. Его небось чатгопота подсказала?
Вы не согласны с этим?
S>>Возможно там был заголовок 100 Continue, этим отличалось — найдете код — рассмотрим.
P>Там в одном месте в заголовках кое-что было неверно. Что именно, пусть чатгопота разбирается. Я подсказывать не буду. Я как-то сумал найти проблему. А у него такая широта охвата, что мне и не снилась. Опять же, он все языки мира знает.
Это в первой версии. Потом он попросил привести лог запросов и все исправил.