2011-12-12 49 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