MULTER - req.files.filename returns 未定义

MULTER - req.files.filename returns undefined

我尝试获取 files.filename(多文件)。

我上传了2个文件(1张图片和1个视频)上传好了。 req.files.image 和 req.files.video 具有良好的价值

console.log(req.files['image']);
console.log(req.files.video);

价值观很好:

[ { fieldname: 'image',
    originalname: 'TEST-CAMPVIDEO1',
    encoding: '7bit',
    mimetype: 'image/jpeg',
    destination: '/media',
    filename: 'TEST-CAMPVIDEO11558696888750.jpg',
    path: '\media\TEST-CAMPVIDEO11558696888750.jpg',
    size: 10271 } ]
[ { fieldname: 'video',
    originalname: 'TEST-CAMPVIDEO1',
    encoding: '7bit',
    mimetype: 'video/mp4',
    destination: '/media',
    filename: 'TEST-CAMPVIDEO11558696888756.mp4',
    path: '\media\TEST-CAMPVIDEO11558696888756.mp4',
    size: 15535191 } ]

在node.js

但是当我试图获取文件名时:

console.log(req.files['image']['filename']);
console.log(req.files.video.filename);

它returns未定义

有人有答案吗???

谢谢朋友:)

看起来req.files['image']的结果是一个数组。因此,在这种情况下,您应该 select 中的第一个也是唯一的项目,如下所示: req.files['image'][0].filename 它应该可以工作。

数组只包含对象,不包含文件名属性。数组中的第一个对象确实具有文件名 属性

试试就可以了

let filesArray = [];
req.files.forEach(element => {

    const file = {
        filename: element.filename
    }
    filesArray.push(file);
});

multiple files uploads using multer