@barsic1234

Как правильно передать массив байт из приложения .NET Core, при помощи web api?

Я пытаюсь получить массив байт с апи сервера, при помощи:
WebClient().DownloadData()
На сервере приложение .NET Core, сигнатура метода с которого пытаюсь получить массив:
public ByteArrayContent Get(string str)
Пробовал поставить тип возвращаемого значения byte[], но в обоих случаях вебклиент получает какие-то не понятные байты.
Может быть, я просто ставлю не тот тип возвращаемые методом приложения .net core?
  • Вопрос задан
  • 593 просмотра
Решения вопроса 2
sarapinit
@sarapinit Куратор тега C#
Точу водой камень
Раньше в js не было типа byte, поэтому массив байт кодировался в base64 string и отправлялся в строки. Скорее всего у вас происходит тоже самое. Попробуйте декодировать пришедшие байты с помощью Convert.FromBase64
Ответ написан
vabka
@vabka Куратор тега .NET
Токсичный шарпист
попробуйте при помощи
new HttpClient().GetAsync() - тогда в ответе будут именно те байты, которые нужны.
WebClient - легаси
И возвращать из контроллера byte[] или Stream
ByteArrayContent - это для клиента.
Если вам нужно вернуть файл, а не произвольные байты, то тогда делайте return File(...);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы