Express Nodejs - 如何将request.files传递给另一个POST请求

时间:2015-10-30 17:31:43

标签: javascript node.js

我有一个页面,用户上传文件并传递给Node API,它执行一些操作,如数据库插入,最后必须将文件发送到另一个节点rest API进行病毒检查。

我可以在第一次API调用中看到req.files中的文件内容和属性,但很难使用req.filesrequest.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中的文件?

1 个答案:

答案 0 :(得分:2)

使用:

headers: {'Content-Type': 'multipart/form-data'},

而不是:

headers: {'enctype-type': 'multipart/form-data'},

enctype是HTML表单。

更多信息,请参阅此答案: Uploading file using POST request in Node.js