Правильно закодируйте двоичный ответ image / jpg в URI данных base64 в узле - PullRequest
0 голосов
/ 21 ноября 2018

Как часть сценария Node, я получаю изображение из API (в частности, изображения профиля из Microsoft Graph).

Возвращенный ответ имеет тип 'image / jpeg', а тело ответа содержитстрока, которую я предполагаю в двоичном виде, которая выглядит примерно так:

����\u0000\u0010JFIF\u0000{snipped}ko{j챂�]Z�,3D�GG;��0\u0010���?���

Итак, из других ответов о переполнении стека и сетевых ресурсов я использую следующий код для преобразования его в URI данных base64, который я могув конечном итоге внедряется в веб-страницу, когда мой сервер узлов возвращает свой ответ:

const base64 = 'data:' + response.headers['content-type'] + ';base64,' +
                new Buffer.from(response.body, 'binary').toString('base64');

Возвращает закодированную строку, но при посещении URI / попытке загрузить изображение просто отображается синий знак вопроса или загружается поврежденныйimage.

Но я не могу понять, какой шаг в этом процессе неправильный?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...