2011-12-12 47 views
0

内发送响应在一个节点的应用程序我检索请求与req​​.form.complete如下(非常简化的)node.js中不能req.form.complete

app.post('/myaction', function(req, res){ 
    req.form.complete(function(err1, fields, files){ 
     res.writeHead(200, {"Content-Type": "application/json"}); 
     if (err1) { 
      res.write("KO"); 
     } else { 
      ... check something in db... 
      res.write("ok"); 
     } 
     res.end();  
     }); 
}); 

我的当事人从来没有得到一个内容回应。在我看来,req.form.complete阻止了发送的响应......背后的想法是能够解析表单并检索该表单中的图片,然后在发送响应之前在数据库中执行额外的检查。

任何想法执行此操作?

回答

0

好事实上,我已经删除了BodyParser选项,并使用连接形式,它的工作正常。仍然需要给予强大的拍摄。

1

如果您使用的是最新快递(其中有连接> 1.8.x的),那么它有req.files,其中包含已经被解析您的文件,请尝试以下片段:

app.post('/myaction', function(req, res) { 
    console.log(req.files); 
    res.send(JSON.stringify(req.files)); 
}); 
+0

做req.fields工作吗?上次我知道连接形式和强大的哪一个是最好的。 – Luc

+0

@Luc他们工作,如果您有最新的Express版本,请参阅官方示例:https://github.com/senchalabs/connect/blob/master/examples/bodyParser.js#L22。 connect-form现在已经被弃用了,并且强大的东西直接包含在我看到的bodyParser()中。 – alessioalex