9

我尝试将 png 上传到我的 node.js 服务器,但每次req.files.avatar调用时,都会出现错误并显示TypeError: Cannot read property 'avatar' of undefined

4

2 回答 2

19

问题是我没有写enctype="multipart/form-data"表格。这就是 req.files 未定义的原因。

于 2012-12-24T11:21:47.370 回答
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'));
});
于 2013-09-06T22:49:01.200 回答