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。
私がやっていることが本当に間違っているのでしょうか、それともビールのせいにすべきでしょうか?