这是一个小的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/