我使用npm Request模块进行了外部API调用,该模块返回一个多部分表单数据。
以下是请求的代码段(不完整):
request.get(options, function (err, httpResponse, body) {
if (err) {
return console.error('Error:', err);
}
console.log(body);
});
以下是响应正文的示例(上面记录的控制台):
--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--
我的问题是:
此响应是以流/文本表示的MultipartForm数据是否正确?
如何以返回文件对象的方式解析响应(本例中为两个文件)?
我认为我不能使用中间件,因为这是一个外部API调用。 我尝试了以下内容:
我的最后一个选择似乎是使用Regex解析响应并写入文件。这似乎很慢,但
任何输入都将不胜感激!谢谢!