这是一个小的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不是函数。不确定该怎么做,任何帮助将不胜感激。

最佳答案

当您使用Azure时,可用的软件包将无济于事,因为在经典的Web服务器文件中,文件以块的形式到达服务器上,因此使用“ 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

关于node.js - Azure Functions使用可结点的 Node 解析表单数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46983276/

10-12 12:44
查看更多