Содержимое удаленного образа можно сначала получить с помощью HTTP-запроса, например, с помощью вездесущего модуля request
npm. Содержимое строки изображения затем может быть преобразовано в buffer
и, наконец, преобразовано в строку base64. Чтобы завершить преобразование, добавьте правильный префикс data-url , например, data:image/png,base64,
в начало строки base64.
Вот примерный пример для изображения PNG:
const request = require('request-promise-native');
let jpgDataUrlPrefix = 'data:image/png;base64,';
let imageUrl = 'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png';
request({
url: imageUrl,
method: 'GET',
encoding: null // This is actually important, or the image string will be encoded to the default encoding
})
.then(result => {
let imageBuffer = Buffer.from(result);
let imageBase64 = imageBuffer.toString('base64');
let imageDataUrl = jpgDataUrlPrefix+imageBase64;
console.log(imageDataUrl);
});