Я создал 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">