Конвертировать данные буфера в изображение - PullRequest
0 голосов
/ 28 февраля 2020

как мне преобразовать эти данные буфера в изображение, чтобы при циклическом просмотре результата и рендеринге его в img sr c оно отображалось как изображение, которое пользователь может видеть

, использующим e js чтобы отобразить его

     <span>
        <img class="user-with-avatar" src=<%=item.photo%> />
     </span>

, когда я console.log (result.data.photo), я получаю это

{"type":"Buffer","data":[100,97,116,97,58,14,79,8,113,97,65,43,57,55,89,69,88,51,66,101,70,86,112,121,112,121,121,121,80,81,104]},
{"type":"Buffer","data":[100,97,116,97,58,14,79,8,113,97,65,43,57,55,89,69,88,51,66,101,70,86,112,121,112,121,121,121,80,81,104]},
{"type":"Buffer","data":[100,97,116,97,58,14,79,8,113,97,65,43,57,55,89,69,88,51,66,101,70,86,112,121,112,121,121,121,80,81,104]}

как мне исправить это с помощью этого кода


    app.get('/products', function (req, res) {
            if (req.session.token && req.session.user_id) {
                let data = {
                    token: req.session.token,
                    id: req.session.user_id,
                }
                let url = `https:/url/product/get_products?id=${data.id}&token=${data.token}`
                functions.callAPIGet(
                    url,
                    function (error, result) {
                        res.render('products', {
                            result: result.data
                        })
                    }
                );
            } else {
                res.redirect('/login')
            }
        });

1 Ответ

2 голосов
/ 28 февраля 2020

Вам нужно будет преобразовать буфер в строку base64. Вот пример для изображения PNG. Мне не ясно, где хранится ваше изображение и в каком формате оно находится. Этот пример читает изображение в виде файла. Может потребоваться настроить параметры в зависимости от источника данных.

сервер. js

const express = require('express')
const app = express()
const fs = require('fs')
app.set('view engine', 'ejs')

app.get('/', function(req, res) {
  const data = fs.readFileSync('./image.png')

  res.render('page', {
    image: data.toString('base64')
  })
})

const server = app.listen(2000)

views / page.e js

<img src="data:image/png;base64,<%= image %>" />

...