Feathers.js - Тип содержимого - GET - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь получить изображение с моего сервера перьев по методу GET. Попытка вызвать сервер через

http://localhost:3030/uploads/945fdcbc5ef41f8d301c14d8cfb3c4ae536f4bffc0338091043ec5cf27b9bcff.png

должно вернуть изображение. Вместо этого я получаю ответ как:

{"id": "945fdcbc5ef41f8d301c14d8cfb3c4ae536f4bffc0338091043ec5cf27b9bcff.png", "uri": "data: image / png; base64, ivBORw0KGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHABA_BI кПацИААААААА

Мой вопрос: правильно ли, что я получаю ответ Json, и мне нужно изменить «отвеченный» тип контента на data: image / png, чтобы увидеть картинку прямо в браузере?

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Благодаря @Daff! Мой код теперь работает с этим решением:

app.use(
    "/uploads",uploadservice.....,
     (req, res, next) => {
      const base64Data = res.data.uri.replace("data:image/png;base64,", "");
      const buffer = Buffer.from(base64Data, "base64");
      res.set("Content-Type", "image/png");
      res.send(buffer);
      next();
    }
  );
0 голосов
/ 24 марта 2019

Вы можете показать это изображение прямо на сайте, используя <img src="${data.uri}">.

Также возможно изменить тип содержимого и ответ в промежуточном программном обеспечении настраиваемой службы , преобразующем URI данных в буфер:

app.use('/uploads', uploadService, (req, res) => {
  // res.data is the response. We need only the base64 payload without the prefix
  const base64Data = res.data.uri.replace('data:image/png;base64,', '');
  const buffer = Buffer.from(base64Data, 'base64');

  res.set('Content-Type', 'image/png');
  res.send(buffer);
});

Теперь должно отображаться изображение при посещении URL.

...