Azure Function JS: получение изображения из большого двоичного объекта и преобразование в base64

Я разрабатываю лазурную функцию, работающую в узле 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...


person Anna Melashkina    schedule 12.08.2020    source источник


Ответы (1)


Я тестирую на своем сайте, и он работает очень хорошо. Вы можете обратиться к следующему коду для устранения неполадок.

В index.js обратите внимание на добавление параметра myinput int:

module.exports = async function (context, req,myinput) {
    context.log('JavaScript HTTP trigger function processed a request.');
    let me = context.bindings.myinput;
    console.log(me);
    console.log(me.toString('base64'));
}

Снимок на локальном хосте: введите здесь описание изображения

Снимок на портале: введите здесь описание изображения

person Joey Cai    schedule 01.09.2020