gpt4 book ai didi

node.js - 在 Node.js 中使用 Request/Formidable 解析多部分响应

转载 作者:太空宇宙 更新时间:2023-11-03 22:02:58 25 4
gpt4 key购买 nike

我正在使用 mikeal 的请求模块从 REST 服务器获取图像,然后尝试用强大的方法解析多部分响应,但 form.parse 永远不会被调用。我做错了什么吗?

request.get({url: "http://ur-to-get", headers: headers, qs: query}, function(err, res, body) {
var form = new formidable.IncomingForm();
form.parse(res, function(err, fields, files) {
console.log(util.inspect({fields: fields, files: files}));
});
});

标题看起来像:

transfer-encoding': 'chunked',
'content-type': 'multipart/parallel;
boundary=yz2C9C5D87FD6148a3986510BCACF917A82C9C5D87FD6148a3986510BCACF917A8ZY' },

最佳答案

Formidable 的 parse 期望能够监视您传递的 res 参数上的 data 事件,但因为您正在使用 request 带有回调,创建强大的回调将在所有数据发出和收集后才会运行。这就是 request 能够将 body 参数传递给回调的方式。

请求模块有一个可用于数据的流,但它不会以 Formidable 想要的方式公开响应 header ,因此我认为没有简单的方法来使用它。

由于您只是执行 GET 请求,因此我建议仅使用 Node 的默认请求逻辑而不是 request 模块,尽管参数有点复杂.

http.get({
host:'google.com',
headers: headers,
path: '/?' + querystring.stringify(qs)
}, function(res){
var form = new formidable.IncomingForm();
form.parse(res, function(err, fields, files) {
console.log(util.inspect({fields: fields, files: files}));
});
});

关于node.js - 在 Node.js 中使用 Request/Formidable 解析多部分响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12333258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com