ドキュメントに従った後、以下の機能を実行している空の配列を取得しました。
var multer = require('multer');
var upload = multer();
router.post('/image', upload.array('photos', 4), function(req, res) {
var file = req.files;
console.log('======')
console.log(file);
res.end();
});
<form action="/products/image" method="post" enctype="multipart/form-data">
<input type="file" name="file" value="upload" multiple>
<input type="submit" value="upload">
</form>
しかし、奇妙なことに、これは実際に機能します
router.post('/image',upload.single('avatar'), function(req, res) {
var file = req.files;
console.log('======')
console.log(file);
res.end();
});
単一ファイルのアップロードで。
Upload.array()には、フィールド名とmaxCountパラメーターが必要です。ただし、ファイルの名前を「file」とし、ミドルウェアのupload.array( 'photos'、4)を使用しています。以下の方法で試してみてください
upload.array('file',4)
または
upload.any();
ドキュメントを参照してください: https://github.com/expressjs/multer