我尝试将png上传到我的node.js服务器,但每次调用req.files.avatar
时,都会显示错误并显示TypeError: Cannot read property 'avatar' of undefined
。
答案 0 :(得分:17)
问题是我没有在表单中写enctype="multipart/form-data"
。这就是req.files未定义的原因。
答案 1 :(得分:16)
此外,我认为你必须在使用app.router或静态中间件之前包含你的bodyParser 任何说明。经过一些反复试验后,这是对我有用的订单。
app.configure(function(){
app.set('port', process.env.port || 3000);
app.set('views', __dirname + '/app/server/views');
app.set('view engine', 'jade');
app.locals.pretty = true;
app.use(express.favicon());
app.use(express.bodyParser( { keepExtensions: true, uploadDir: __dirname + '/app/uploads' } ));
app.use(express.methodOverride());
app.use(express.cookieParser());
app.use(express.session({ secret: 'super-duper-secret-secret' }));
app.use(app.router);
app.use(require('stylus').middleware({ src: __dirname + '/app/public' }));
app.use(express.static(__dirname + '/app/public'));
});