首页 > 解决方案 > MULTER - req.files.filename 返回未定义

问题描述

我尝试获取 files.filename (multer multifile)。

我上传了 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);

它返回未定义

有人有答案吗???

谢谢朋友 :)

标签: node.jsmulter

解决方案


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

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


推荐阅读