使用 Multer 上传多张图片时如何获得 req.files.path

How do I get the req.files.path when uploading multiple images with Multer

我想得到一个字符串数组,每个字符串都是我保存图像的路径,所有图像都被保存到一个文件夹中。

router.post("/", upload.array("songImage"), (req, res, next) => {
    // console.log(req.files[0].originalname);
    var file = req.files;
    console.log(file.path) // THIS IS WHERE I WANT TO GET THE ARRAY OF FILE PATHS
    const song = new Song({
      _id: new mongoose.Types.ObjectId(),
      name: req.body.name,
      composer: req.body.composer,
      productImage: req.files.path
    });

当我 运行 这个得到 'undefined'.

谢谢

简答

var paths = req.files.map(file => file.path)

稍微长一点的回答

req.files是一个对象(文件)数组,所以你必须使用Array.prototype.map()创建一个只包含每个文件路径的新数组。

你也可以用这个方法

var path = req.files.objName[0].path

数字 0 因您要访问的对象而异