.NET 5 HttpClient не может получить «приложение/октет-поток»C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 .NET 5 HttpClient не может получить «приложение/октет-поток»

Сообщение Anonymous »

Я работаю над двумя проектами, первый проект (.NET 5.0) должен запросить байты файла во второй проект (.NET 8.0).
Метод в первый проект:

Код: Выделить всё

public async Task GetTemplateAsync()
{
try
{
string uri = $"{_uri}GetTemplate";
var result = await _httpClient.GetAsync(uri);

if (!result.IsSuccessStatusCode)
{
throw new Exception(await result.Content.ReadAsStringAsync());
}

byte[] template = await result.Content.ReadAsByteArrayAsync();

return template;
}
catch (Exception e)
{
throw new Exception(e.Message);
}
}
Конечная точка во втором проекте:

Код: Выделить всё

[HttpGet("/GetTemplate")]
[Produces("application/octet-stream")]
public HttpResponseMessage GetTemplate()
{
try
{
byte[] boletoTemplate = _templateService.GetTemplate();

HttpResponseMessage response = new(HttpStatusCode.OK)
{
Content = new ByteArrayContent(boletoTemplate)
};

return response;
}
catch (NotFoundException ex)
{
return new HttpResponseMessage(HttpStatusCode.NotFound)
{
Content = new StringContent(ex.Message)
};
}
catch (Exception ex)
{
return new HttpResponseMessage(HttpStatusCode.BadRequest)
{
Content = new StringContent(ex.Message)
};
}
}
Результат _httpClient.GetAsync(uri) в методе первого проекта — неприемлемый.
Это происходит когда я добавляю аннотацию

Код: Выделить всё

[Produces("application/octet-stream")]
на конечной точке второго проекта, когда я перехожу на application/json, результат первого проекта — «ОК», но все байты файла разные.
p>
Редактировать =================================== =================
Эта проблема существует в проекте .Net 8.0. Когда я использую почтальона для отправки запроса в ту же конечную точку, он возвращает 406 Not Acceptable
Изображение


Подробнее здесь: https://stackoverflow.com/questions/785 ... tet-stream
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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