@barsic1234

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

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

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

Войти через центр авторизации
Похожие вопросы
Мечел-Сервис Челябинск
от 60 000 до 140 000 ₽
Mentalstack Санкт-Петербург
от 100 000 до 150 000 ₽
ВЫМПЕЛ Москва
от 150 000 до 230 000 ₽
18 февр. 2020, в 23:53
8000 руб./за проект
18 февр. 2020, в 22:14
10000 руб./за проект