Я разрабатываю лазурную функцию, работающую в узле js. Эта функция должна получить изображение из большого двоичного объекта и преобразовать его в строку base64. Проблема в том, что когда я вызываю toString('base64')
, моя функция зависает (выглядит как бесконечный цикл). Как это исправить и в чем может быть проблема?
функция.json
{
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"post"
],
"route": "my_func"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"name": "templateImage",
"type": "blob",
"path": "assets/{templateImage}.jpg",
"dataType": "binary",
"connection": "Storage",
"direction": "in"
}
]
}
index.js
module.exports = async function (context, req) {
let templateImage = context.bindings.templateImage; // This is Buffer.
console.log(templateImage); // I can log it. Will see something like this: <Buffer ff d8 ff e0 00...
console.log(templateImage.toString('base64')); // I want to get base64, but after calling it my function is stuck.
...
}
ОБНОВЛЕНИЕ: я думаю, стоит упомянуть, что эта функция зависает только в локальной разработке. В лазурном портале трансформируется, но результат выглядит странно: Хотя должно быть примерно так: data:image/jpeg;base64,/9j/4AAQ...