JavaScript: 使用 multer 访问对象内部数组中的对象

JavaScript: Accessing object inside an array inside object using multer

这是我的多功能 -

const storage = multer.diskStorage({
  destination: (req, file, callback) => {
    let type = req.params.type;
    let path = `./data/${type}`;
    fs.mkdirsSync(path);
    callback(null, path);
  },
  filename: (req, file, cb) => {
    const ext = mime.extension(file.mimetype);
    const random = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
    cb(null, `${Date.now()}-${random}.${ext}`);
  },
});

这是路由器 - router.post("/", auth, multer({ storage }).fields([{ name: 'image', maxCount: 1 }, { name: 'video', maxCount: 1 }]), addMovie); 这是我在 console.log(req.files) -

时得到的结果
[Object: null prototype] {
  image: [
    {
      fieldname: 'image',
      originalname: '����� ����.png',
      encoding: '7bit',
      mimetype: 'image/png',
      destination: './data/undefined',
      filename: '1631293039713-7613.png',
      path: 'data\undefined\1631293039713-7613.png',
      size: 13133
    }
  ],
  video: [
    {
      fieldname: 'video',
      originalname: 'file_example_MP4_480_1_5MG.mp4',
      encoding: '7bit',
      mimetype: 'video/mp4',
      destination: './data/undefined',
      filename: '1631293039720-3601.mp4',
      path: 'data\undefined\1631293039720-3601.mp4',
      size: 1570024
    }
  ]
}

我正在发送图片和视频。我想访问对象内的字段。 我不确定该怎么做。

试过了 - req.files.image[0] 那是错误 - Property 'image' does not exist on type '{ [fieldname: string]: File[]; } | File[]'. Property 'image' does not exist on type 'File[]'.ts(2339)

你可以试试(req as any).files.image[0]req 打字有点麻烦:(