Отправить изображение PNG через экспресс API - PullRequest
0 голосов
/ 20 ноября 2018

Я не совсем понимаю, почему мне нужно кодировать мои двоичные данные, представляющие изображение PNG, в строку base64, чтобы я мог отправлять / отображать их через API REST?

Это мой код, который работает:

import png from 'fast-png';

api.get('/img', (req, res) => {
    ...
    let pngImage = png.encode({
            data: pixelData,
            width: columns,
            height: rows,
            alpha: false,
            components: samplesPerPixel
        });

    let base64 = Buffer.from(pngImage, 'binary').toString('base64');
    result = new Buffer(base64, 'base64');

    res.contentType('image/png');
    res.send(result);
}

Код, который не работает:

import png from 'fast-png';

api.get('/img', (req, res) => {
    ...
    let pngImage = png.encode({
            data: pixelData,
            width: columns,
            height: rows,
            alpha: false,
            components: samplesPerPixel
        });

    res.contentType('image/png');
    res.send(pngImage.buffer, 'binary');
}

Если кто-то может объяснить, почему он не работает в этом случае?

Спасибо

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