Node JS / Express:如何parsing外部API调用的多部分响应

我使用npm Request模块进行外部API调用,该模块返回多部分表单数据。

以下是请求的代码段(不完整):

request.get(options, function (err, httpResponse, body) { if (err) { return console.error('Error:', err); } console.log(body); }); 

以下是响应主体(上面logging的控制台)的示例:

 --multipartBoundary Content-Disposition: form-data; name="file"; filename="loremipsum.sample" Content-Type: application/octet-stream Content-Transfer-Encoding: base64 TG9yZW0gSXBzdW0gaXMgc2ltcGx5IGR1bW15IHRleHQgb2YgdGhlIHByaW50aW5nIGFuZCB0eXBlc2V0dGluZyBpbmR1c3RyeS4gTG9yZW0gSXBzdW0gaGFzIGJlZW4gdGhlIGluZHVzdHJ5J3Mgc3RhbmRhcmQgZHVtbXkgdGV4dCBldmVyIHNpbmNlIHRoZSAxNTAwcywgd2hlbiBhbiB1bmtub3duIHByaW50ZXIgdG9vayBhIGdhbGxleSBvZiB0eXBlIGFuZCBzY3JhbWJsZWQgaXQgdG8gbWFrZSBhIHR5cGUgc3BlY2ltZW4gYm9vay4gSXQgaGFzIHN1cnZpdmVkIG5vdCBvbmx5IGZpdmUgY2VudHVyaWVzLCBidXQgYWxzbyB0aGUgbGVhcCBpbnRvIGVsZWN0cm9uaWMgdHlwZXNldHRpbmcsIHJlbWFpbmluZyBlc3NlbnRpYWxseSB1bmNoYW5nZWQuIEl0IHc= --multipartBoundary Content-Disposition: form-data; name="json_detail" Content-Type: application/json;charset=utf-8 { "filename":"1478162481102.sdoc", "date_modified":"1478170365000", } --multipartBoundary-- 

我的问题是:

  1. 这个响应是以stream/文本表示的MultipartForm数据是正确的吗?

  2. 我怎样才能parsing响应的方式,它返回文件对象(在这种情况下是两个文件)?

我相信我不能使用中间件,因为这是一个外部的API调用。 我尝试了以下内容:

  • pipe道到文件(这只是pipe道响应到一个文件)
  • Http.get和busboy

我最后的select似乎是使用正则expression式parsing响应并写入文件。 这似乎是缓慢的

任何input将不胜感激! 谢谢!