node.js无法在req.form.complete中发送响应

时间:2011-12-12 22:45:04

标签: 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阻止了响应的发送......这背后的想法是能够解析表单并检索该表单中的图片,然后在发送响应之前在DB中执行其他检查。

有任何想法执行此操作吗?

2 个答案:

答案 0 :(得分:1)

如果您使用的是最新的Express(具有Connect> 1.8.x),那么它有req.files,其中包含已为您解析的文件,请尝试以下代码段:

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

答案 1 :(得分:0)

实际上我已经删除了BodyParser选项并使用了connect-form,它的工作正常。仍然需要给予强大的射击。