Не совсем работает кодировка изображения NodeJS base64 - PullRequest
0 голосов
/ 16 ноября 2018

Я использую API , чтобы получить фотографию профиля пользователя из облака O365.На основании документа говорится, что ответ содержит * Двоичные данные запрошенной фотографии.*

Я хотел бы использовать это изображение для отображения в формате Data URI.Пример: -

"данные: изображение / png; base64, iVBORw0KGgoAAA ANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAAHAlEQVQI12P4 // 8 / w38GIAXDIBKE0DHxg0_0 * * * *это данные изображения в Base64.

Я не могу заставить кодировку Base64 работать для данных изображения, которые я получаю из API.Не уверен, правильно ли я использую необработанные двоичные img-данные и правильно преобразовываю их в Base64.

Для проверки: я загружаю свои данные URI здесь в онлайн-редактор, и они никогда не анализируют мои данные / изображение.Вместо этого, если я загружаю изображение сюда &, чтобы получить данные Base64, тогда загружаю URI в 1-й редактор, он отображается правильно.Таким образом, я предполагаю, что разговор Base64 не является правильным.

КОД в nodejs: -

let base64ImgTry1 = Buffer.from('binary-data-from-api').toString('base64')

//OR

var base64ImgTry2 = new Buffer('binary-data-from-api','binary').toString('base64');

let imgURI_1 = 'data:image/png;base64,' +base64ImgTry1
let imgURI_2 = 'data:image/png;base64,' +base64ImgTry1

ни один из этих imgURI_1, imgURI_2 не работает.Не уверен, что я ошибаюсь, используя двоичные данные из api.

Я также пробовал эту библиотеку NPM https://www.npmjs.com/package/image-data-uri

, в которой я использовал этот метод -> кодирование (data, mediaType) где данные были прямым ответом от API.

https://www.site24x7.com/tools/datauri-to-image.html

...