利用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的文档,好像它并没有做出类似的改变。特意向大家请教这个问题
這個問題以及解決了,是multer版本的問題。 multer 需要裝 0.1.8 的版本。
我現在升級multer 1.1.0了,也碰到同樣問題,然後去他的官網了解下。
已經不能這樣寫了
你要在路由裡面寫
上面這個範例是我同時提交5個name,
他提供3個方法.single() .array() .fields()
.single()是一個檔案
例如
.array()是同樣name名的多個檔案
例如
.fields()是多個檔案
例如
希望幫助後面的nodejs學習者
我也碰見了這個問題,請問您解決了嗎?
我今天也遇到了這個問題了,然後今天順便研究了一下,你如果要用v1.1.0版本的話可以參考我的代碼