expression和上传文件

我试图使用快速和强大的(最终转发到MongoDB和GridFS)上传文件。 我开始创build一个types为文件的字段的表单。 在该领域的行动,我使用以下路线….

exports.addItem = function(req, res, next){ var form = new formidable.IncomingForm(), files = [], fields = []; form .on('file', function(field, file) { console.log(field, file); }) .on('end', function() { console.log('-> upload done'); }); } 

一切运行良好,但是当我发布我没有看到任何东西在控制台,它挂起。

路线如下所示…

 app.post('/item/add', routes.addItem, routes.getPlaylist, routes.index) 

有任何想法吗?

UPDATE

这里是抓取文件的例子,但是,这仍然不包括强大的…

https://gist.github.com/2963261

挂起的原因是因为你需要调用next()来告诉Express继续。

还可以使用express(默认包含)中的bodyParser()中间件来获取文件。 像这样的东西:

 exports.addItem = function(req, res, next){ if(req.files.length > 0) { // process upload console.log(req.files); } next(); }