multer
エクスプレス全体にアタッチする代わりにapp
、特定のルートだけに含めるようにしています。これは、すべてのルート処理へのアップロードを防ぐため、より優れていますpost
。
問題は、ルート内でプロパティを設定できないことです。
var router = require('express').Router(),
multer = require('multer');
router.post('/uploads', function (req, res, next) {
multer({
dest: req.app.get('cfg').uploads.dir
});
console.log(req.files); process.exit();
});
ここでreq.files
は未定義です。
multer を別のミドルウェアに入れて上記のルートにアタッチすると、同じことが起こります。
function initMulter(req, res, next) {
multer({
dest: req.app.get('cfg').uploads.dir
});
next();
}
router.post('/uploads', initMulter, function (req, res, next) {
console.log(req.files); process.exit();
});
この場合もreq.files
ですundefined
。
私がやっていることが本当に間違っているのでしょうか、それともビールのせいにすべきでしょうか?