1

我正在尝试使用快速和强大的上传文件(最终转发到 MongoDB 和 GridFS)。我首先创建一个带有文件类型字段的表单。在该领域的行动中,我使用以下路线....

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)

有任何想法吗?

更新

这是抓取文件的示例,但是,这仍然不包括强大的...

https://gist.github.com/2963261

4

1 回答 1

1

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

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

exports.addItem = function(req, res, next){
  if(req.files.length > 0)
  {
     // process upload
     console.log(req.files);
  }
  next();
}
于 2012-06-21T01:33:05.187 回答