我正在尝试使用NodeJS上传文件,我已经尝试了最常见的多部分库,但是无法正常工作。

当我发送文件时,我什么也没得到,只有500个不存在的错误,称为完成。我单独尝试了一个类似的模块,它运行良好。可能会发生var崩溃吗?我做了一些console.log,util,但没有得到任何可变形式的东西。

这是一段代码。如果您有任何绝妙的主意尝试解决此问题,并且需要更多代码,请随时提出要求!

 var express       = require('express');
 var form          = require('formidable');

 var app = module.exports = express.createServer(
   express.favicon()
   , express.bodyParser()
   , express.cookieParser()
   , express.session({secret: 'topsecret'})
   , everyauth.middleware()
   , express.router(routes)
 );


app.configure(function(){

  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({secret: "aiudhasiudj12" }));
  app.use(everyauth.middleware());
  app.use(app.router);
  app.set('view engine', 'jade');
  app.use('views', __dirname + '/views');
  app.use(express.static(__dirname + '/public'));
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
  app.use(form({ keepExtensions: true }));

});

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

 everyauth.everymodule
   .findUserById( function (userId, callback) {

   Login.findLocalByEmail([userId], function (error, results) {
     callback(null, { userId: userId, data: results});
   });
 });

 everyauth.facebook...

 [...]

 app.get('/la', function(req, res){
  res.send('<form action="la" method="post" enctype="multipart/form-data">'
    + '<p>Image: <input type="file" name="image" /></p>'
    + '<p><input type="submit" value="Upload" /></p>'
    + '</form>');

    //console.log(util.inspect(form, true, null));
});

 app.post('/la', function(req, res) {

  console.log(util.inspect(req.form, true, null));

  req.form.complete(function(err, fields, files) {

    console.log(fields);
    console.log(files);

    if(err) {
      next(err);
    } else {

    }
  });
});


谢谢!

最佳答案

Express包括连接,其中包括强大的连接。

您所要做的就是使用bodyParser并检查“ req.body”,其中应包含表单的所有字段。

关于node.js - 强大的Express 500 TypeError:无法调用未定义的方法“complete”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8335034/

10-09 17:49