Javascript 从Node.js中的缓冲区解析多部分/表单数据

Javascript 从Node.js中的缓冲区解析多部分/表单数据,javascript,node.js,Javascript,Node.js,我有一个缓冲区,我知道它是一个多部分/表单数据有效负载,我还预先知道HTTP内容类型头,其中包括边界 有一些模块,比如node Understand,它只在http请求流上工作,所以我感兴趣的是如何同步解析多部分负载?看看Understand的源代码,您应该能够模仿它在内部所做的大部分工作 另一个解决方案可能是使用这样的东西,它为您提供了一个简单的旧解析器流来进行写入,因此您可能会得到如下结果: var Busboy = require('busboy'); var bb = new Busbo

我有一个缓冲区,我知道它是一个
多部分/表单数据
有效负载,我还预先知道HTTP
内容类型
头,其中包括边界


有一些模块,比如node Understand,它只在http请求流上工作,所以我感兴趣的是如何同步解析多部分负载?

看看Understand的源代码,您应该能够模仿它在内部所做的大部分工作

另一个解决方案可能是使用这样的东西,它为您提供了一个简单的旧解析器流来进行写入,因此您可能会得到如下结果:

var Busboy = require('busboy');
var bb = new Busboy({ headers: { 'content-type': '....' } });

bb.on('file', function(fieldname, file, filename, encoding, mimetype) {
  console.log('File [%s]: filename=%j; encoding=%j; mimetype=%j',
              fieldname, filename, encoding, mimetype);
  file.on('data', function(data) {
    console.log('File [%s] got %d bytes', fieldname, data.length);
  }).on('end', function() {
    console.log('File [%s] Finished', fieldname);
  });
}).on('field', function(fieldname, val) {
  console.log('Field [%s]: value: %j', fieldname, val);
}).on('finish', function() {
  console.log('Done parsing form!');
});

bb.end(someBuffer);
使用它,我得到了一个“完成解析表单”,但没有解析“字段”或“数据”。我正在使用由提供的缓冲区,邮件由mailgun“Sample POST”WebHook测试发送。有什么想法吗?