我有一个页面,用户上传文件并传递给Node API,它执行一些操作,如数据库插入,最后必须将文件发送到另一个节点rest API进行病毒检查。
我可以在第一次API调用中看到req.files
中的文件内容和属性,但很难使用req.files
将request.post
传递到另一个节点API网址。
var uploadFile= function(req, res) {
var files = req.files.upload;
Async.series(
[ function (callback) {..},
function (callback){viruscheck(files,callback);}
....
//viruscheck method
var viruscheck= function(files, callback) {
request.post({url: "http://loclahost:1980/viruscheck/upload.json",
qs: {
..
},
headers: {'enctype-type': 'multipart/form-data'},
form:{
upload:files
}
},function(error, response, body){
if(error) {
console.log(error);
callback(error)
} else {
console.log(response.statusCode, body);
callback()
}
});
}
在API http://loclahost:1980/viruscheck/upload.json中,我看到正文中的文件内容而不是req.files
。
如何在第二次API调用中获取request.files
中的文件?
答案 0 :(得分:2)
使用:
headers: {'Content-Type': 'multipart/form-data'},
而不是:
headers: {'enctype-type': 'multipart/form-data'},
enctype是HTML表单。
更多信息,请参阅此答案: Uploading file using POST request in Node.js