『実践Node.jsプログラミング』(p.178〜)の写経。
前回のcookieParser同様、bodyParserもconnectとは別途インストールする必要があります。また、bodyParser()と直接呼び出すのではなく、bodyParser.urlencoded()、bodyParser.json()というふうに個別にメソッドを起動してuseにハンドラを引き渡します。なお、multipart/form-data形式は、さらに別途モジュールを追加する必要があります。ここでは、multerの例を示します。
connect、body-parserとmulterをインストール。
npm install connect npm install body-parser npm install multer
『実践Node.jsプログラミング』(p.179)に対応する例。
var connect = require('connect') , bodyParser = require('body-parser') , multer = require('multer'); var app = connect() .use(bodyParser.urlencoded({ extended: false, limit: '32kb' })) .use(multer({ dest: './uploads/', limits: { fieldNameSize: 64, files: 5, fileSize: 1024*1024 } })) .use(bodyParser.json({ limit: '32kb' })) .use(function(req, res) { console.log(req.body); console.log(req.files); res.setHeader('Content-Type', 'text/plain; charset=utf-8'); res.end('Registered new user:' + req.body.username + '\n'); }) .listen(3000);
p.180以降のlimitについては、上記コードのように、各ミドルウェアで個別にオプションとして指定する。