【发布时间】:2014-04-21 00:49:59
【问题描述】:
在尝试从 express 3 更新到 express 4 时,我的文件上传路由开始返回未定义的 req.files。我已经将中间件安装为单独的依赖项,因为它们不包含在 express 中,并且我已经停止使用已删除的 app.configure() 方法。这是我的主服务器文件
// dependencies ==========================================================================
var express = require('express'); // framework
var mongoose = require('mongoose'); // mongo driver
var morgan = require('morgan'); // request logger
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
var fs = require('fs');
var app = express(); // initialize as 'app'
// configuration =========================================================================
mongoose.connect('mongodb://localhost/constellates');
var port = 4000; // set port number for app
app.use(bodyParser()); // pull information from html in POST
app.use(express.static(__dirname + '/public')); // set static files directory
app.use(morgan('dev')); // log every request to the console
app.use(methodOverride()); // simulate PUT and DELETE
// routes ================================================================================
require('./routes')(app); // load routing from 'routes.js'
// start server ==========================================================================
app.listen(port); // start server listening
console.log('Server is listening on port ' + port); // display success message with port number
这是我为故障排除而简化的路线
app.post('/api/upload', function (req, res) {
console.log(req.files);
});
客户端没有任何变化。我最好的猜测是对 bodyParser 的一些更改正在影响这一点,但我还没有发现任何东西。有什么想法吗?
【问题讨论】: