Использование API-интерфейса NodeJS / Express для возврата изображения base64 для тега Facebook og: image - PullRequest
0 голосов
/ 10 января 2019

Я создал API узла / экспресса для возврата данных base64 в виде изображения.

Изображение загружается нормально, используя https://www.example.com/api/resident/59dbd52a7604450012c390ac/image Я использовал это на разных страницах внешнего интерфейса для изображений.

Проблема в том, что когда я пытаюсь использовать эти данные для тега og: image в Facebook, я получаю сообщение об ошибке: "Предоставлено: og: URL изображения, https://www.example.com/api/resident/59dbd52a7604450012c390ac/image не может быть обработано как изображение, поскольку оно имеет недопустимый тип содержимого."

Я знаю, что Facebook может видеть правильный метатег, так как когда я нажимаю «Посмотрите, что наш скребок видит по вашему URL», он показывает правильный тег. Когда я нажимаю на предоставленный URL-адрес, он показывает изображение.

Контроллер в экспрессе выглядит так:

export function image(req, res) {
  var base64Data = req.resident.picture;
  var img = new Buffer(base64Data, 'base64');
  res.writeHead(200, {
    'Content-Type': 'image/jpeg',
    'Content-Length': img.length
  });
  return res.end(img);
}

Теги в HTML выглядят так:

<meta property="og:title" content="My Site">
<meta property="og:image" content="https://www.example.com/api/resident/59dbd52a7604450012c390ac/image">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:height" content="800">
<meta property="og:image:width" content="800">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...