Я успешно передал изображение в виде двоичной строки из кукловодов * Функция 1001 * вернулась к node.js, используя:
async function getBinaryString(url) {
return new Promise(async (resolve, reject) => {
const reader = new FileReader();
const response = await window.fetch(url)
const data = await response.blob();
reader.readAsBinaryString(data);
reader.onload = () => resolve(reader.result);
reader.onerror = () => reject('Error occurred while reading binary string');
});
}
Я могу сохранить его с помощью:
fs.writeFileSync(“image.png”, new Buffer.from(binaryString, "binary"), function (err) { });
Но теперь я sh хочу преобразовать это PNG
изображение в base64
, не сохраняя его сначала в файл, потому что я буду загружать его на другой сервер. Если я сохраню его в файл, я могу сделать следующее:
function base64Encode(file) {
const bitmap = fs.readFileSync(file);
return new Buffer.from(bitmap).toString('base64');
}
Как пропустить часть сохранения файла и получить правильные данные base64
для моего PNG
? Я пытался передать двоичную строку в new Buffer.from(binaryString).toString('base64')
, но мне не удалось сохранить ее как рабочую PNG
.