Функции Azure анализируют данные формы с помощью node-formidable

Вот небольшая функция Azure, я пытаюсь получить поля формы сообщения, используя грозный узел.

    module.exports = function (context, req, intable) {
    var formidable = require('formidable');
    var form = new formidable.IncomingForm(),
        fields = [];

    ----> form.parse(context.req, function(err, fields, files) {
        context.log(fields);
        context.done();
        return;
    });
    return;
};

В строке со стрелкой в ​​коде выдает ошибку TypeError: req.on не является функцией. Не уверен, что делать, любая помощь будет оценена.


person imrn    schedule 27.10.2017    source источник


Ответы (2)


Поскольку вы используете готовые доступные пакеты Azure, это не поможет вам, потому что в классическом веб-сервере файл поступает на сервер фрагментом, поэтому для извлечения данных на сервере используются «on» и «end». В случае функций Azure Azure проанализирует форму для вас и добавит в объект req.body, и этот объект является JSON, а не каким-либо объектом запроса, поэтому функции «on» и «end» будут недоступны.

Итак, вам нужно проанализировать данные формы вручную.

Я работаю в AWS и Azure (обычно я использовал текстовые файлы для загрузки через AWS и Azure), поэтому я создал один до тех пор, пока не проанализирую данные формы, которые вы можете использовать для анализа своих собственных.

Вы можете использовать ту же функцию. Я обновил его на GitHub.

https://github.com/chandani-volansys/multipart-data-parser/blob/master/multipart.js

person Chandani Patel    schedule 21.06.2018

Метод, который вы вызываете здесь в грозном, ожидает объект req require('http') - однако объект запроса здесь не тот же (как вы можете видеть, не имеет req.on() или других методов). Я недостаточно знаком с этим пакетом, чтобы знать, есть ли способ предоставить тело запроса (что есть у этого объекта req) и по-прежнему анализировать или нет.

Сведения об объекте req, передаваемом в эту функцию, приведены ниже: здесь

person jeffhollan    schedule 28.10.2017