NodeJS 请求发送错误 multipart/form-data
NodeJS Request error sending multipart/form-data
我正在使用 Node.js 应用程序作为网络服务的代理。我可以使用 body-parser 传输简单的 application/json 请求,但它无法处理 multipart/form-data.
为此,我尝试使用 request 模块,但在将文件附加到请求时出现错误:
Error: write after end
at ClientRequest.OutgoingMessage.write (_http_outgoing.js:413:15)
at Request.write(./node_modules/request/request.js:1362:25)
这是触发此错误的代码:
var form_data = {};
for (var key in req.files){
form_data[req.files[key].fieldname] = fs.createReadStream(req.files[key].path);
log.debug("File :", req.files[key].fieldname)
}
var multipart_request = request_module({
url: 'http://example.com',
method: ‘POST’,
headers: req.headers,
body: JSON.stringify({<some content here>}),
formData: form_data
}, function(error, response, body){
if(error){
log.debug(error);
res.status(500).send('{"message": "Server error.}');
}
else{
res.status(response.statusCode).send(body);
}
});
还有其他解决方案吗?
如果您提供 form
或 formData
,您的请求选项中不能同时包含 body
。
我正在使用 Node.js 应用程序作为网络服务的代理。我可以使用 body-parser 传输简单的 application/json 请求,但它无法处理 multipart/form-data.
为此,我尝试使用 request 模块,但在将文件附加到请求时出现错误:
Error: write after end at ClientRequest.OutgoingMessage.write (_http_outgoing.js:413:15) at Request.write(./node_modules/request/request.js:1362:25)
这是触发此错误的代码:
var form_data = {};
for (var key in req.files){
form_data[req.files[key].fieldname] = fs.createReadStream(req.files[key].path);
log.debug("File :", req.files[key].fieldname)
}
var multipart_request = request_module({
url: 'http://example.com',
method: ‘POST’,
headers: req.headers,
body: JSON.stringify({<some content here>}),
formData: form_data
}, function(error, response, body){
if(error){
log.debug(error);
res.status(500).send('{"message": "Server error.}');
}
else{
res.status(response.statusCode).send(body);
}
});
还有其他解决方案吗?
如果您提供 form
或 formData
,您的请求选项中不能同时包含 body
。