Преобразовать тип изображения вложения мессенджера Facebook в base64 в узле js - PullRequest
0 голосов
/ 15 мая 2019

Мне нужно написать код, который берет URL-адрес изображения в мессенджере Facebook и преобразовывает его в изображение.

Однако использование image-to-base64 или fetch-base64 не будет работать, поскольку URL-адрес полезной нагрузки facebook имеет метку времени в конце, а для этого инструмента URL-адрес должен заканчиваться на .jpg или .png.

Формат URL:

https://scontent.fhan2-4.fna.fbcdn.net/v/t1.15752-0/p480x480/60251115_627131164420267_474161086648549376_n.png?_nc_cat=100&_nc_oc=AQmldFK_xUgJPT-rqrk4bxLivk8ispusU5THY7br4ZpvNTfcYVrfU-rBFlIX9cwUzaw&_nc_ht=scontent.fhan2-4.fna&oh=140ea3424f8fa6a9085b3ae88281fa51&oe=5D5F4DAD

Я пытался использовать image-to-base64 и fetch-base6, но ни один из них не работает.

const image2base64 = require('image-to-base64');

module.exports = (string) => {
    console.log(string);
    image2base64(string) // you can also to use url
        .then(
            (response) => {

                console.log(response); 
            }
        )
        .catch(
            (error) => {
                console.log(error); 
            }
        )
}

Я хотел бы получить результат base64, поэтому мне интересно, есть ли какой-нибудь пакет, который может помочь мне с этой задачей.

1 Ответ

0 голосов
/ 15 мая 2019

Я думаю, у меня проблема.

Для всех, кому необходимо получить URL вложения в мессенджере Facebook, в виде:

message.attachments[0].payload

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

{ "URL": " THE_URL_THAT_YOU_NEED "}

Итак, чтобы получить THE_URL_THAT_YOU_NEED , вам нужно сначала удалить строку {"url":" и "}, что можно легко сделать следующим образом

var url= (JSON.stringify(event.message.attachments[0].payload).replace("{\"url\":\"","")).replace("\"}","");

Возможно, не лучшее решение, но у меня работает.

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