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

时间:2019-02-08 23:37:59

标签: node.js express 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
    });

当我运行它时,得到“未定义”。

谢谢

2 个答案:

答案 0 :(得分:1)

简短答案

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

答案略长

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

答案 1 :(得分:0)

您也可以使用此方法

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

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