express+multer抛出错误:'app.use() requires middleware functions'


利用node,想要通过表单传递值,node的代码如下:


 var express=require('express'),
    //form的get方法使用url模块
    url=require('url'),
    //form的post方法使用url模块
    bodyParser=require('body-parser'),
    multer=require('multer'),
    util=require('util'),
    app=express();

app.use(multer({dest:'./'}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));

app.get('/',function(req,res){
    res.sendfile('./index.html');
});

app.post('/reg',function(req,res){//页面是post,服务器端也是要post
    var urlObj=url.parse(req.url,true);
    res.write(util.inspect(req.files));
    res.end(JSON.stringify(req.body));
});

app.listen(8080);

目前express版本是4.13.3,multer的版本是1.0.1

运行抛出的错误如下:


 throw new TypeError('app.use() requires middleware functions');

在stackoverflow上查找到类似的问题,但是他的原因是所使用的包的问题 stackoverflow问题
我查看了multer的文档,好像它并没有做出类似的改变。特意向大家请教这个问题

Express multer node.js

不来方·夕莉 9 years, 5 months ago

我也碰见了这个问题,请问您解决了吗?

anonym answered 9 years, 5 months ago

这个问题以及解决了,是multer版本的问题。multer 需要装 0.1.8 的版本。


 npm install [email protected]

魔法师玄安 answered 9 years, 5 months ago

Your Answer