Expressjs不处理多部分数据

时间:2013-12-08 12:30:22

标签: node.js express

我在做什么 ::

  • 我正在尝试从客户端发布图像,我想在控制台中打印文件的名称
  • 此图片属于multipart

什么无效 ::

  • my express未处理服务器上的multipart数据

app.js

var http=require('http');
var crypto=require('crypto');

var app=express();


app.set('port',process.env.PORT||7002); 

app.use('/Details',express.static(__dirname+'/public/images'));

//.use(express.cookieParser());

app.use(express.bodyParser());

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



        var file_name=req.files.key.originalFilename;
        console.log(file_name);


});

app.get('/Details/',function(req,res){
        res.send("Image displayed");
});

http.createServer(app).listen(app.get('port'),function(){
        console.log('Express server listening on port'+app.get('port'));

});

我的控制台出错 ::

TypeError: Cannot read property 'key' of undefined
    at C:\ExpressPractice\imageUpload\app.js:21:32
    at callbacks (C:\ExpressPractice\imageUpload\node_modules\express\lib\router
\index.js:164:37)
    at param (C:\ExpressPractice\imageUpload\node_modules\express\lib\router\ind
ex.js:138:11)
    at pass (C:\ExpressPractice\imageUpload\node_modules\express\lib\router\inde
x.js:145:5)
    at Router._dispatch (C:\ExpressPractice\imageUpload\node_modules\express\lib
\router\index.js:173:5)
    at Object.router (C:\ExpressPractice\imageUpload\node_modules\express\lib\ro
uter\index.js:33:10)
    at next (C:\ExpressPractice\imageUpload\node_modules\express\node_modules\co
nnect\lib\proto.js:193:15)
    at multipart (C:\ExpressPractice\imageUpload\node_modules\express\node_modul
es\connect\lib\middleware\multipart.js:86:27)
    at C:\ExpressPractice\imageUpload\node_modules\express\node_modules\connect\
lib\middleware\bodyParser.js:57:9
    at C:\ExpressPractice\imageUpload\node_modules\express\node_modules\connect\
lib\middleware\urlencoded.js:76:7

我该如何调试

1 个答案:

答案 0 :(得分:3)

您是否使用enctype="multipart/form-data"设置了表单的属性?

表格应为

<form method="post" enctype="multipart/form-data">
...
</form>