如何在全局声明中访问命名空间?

时间:2019-06-07 10:56:15

标签: node.js typescript express multer

背景

我正在制作一个简单的网站,用户可以在其中更新图片。 因此,我正在使用Multer库和带有Typescript的Express。

问题

我要使用File type of Multer。但是我不知道如何访问Multer命名空间。

declare global {
  namespace Express {
    interface Request {
      file: Multer.File;
      files: {
        [fieldname: string]: Multer.File[];
      } | Multer.File[];
    }

  namespace Multer {
    interface File {
      /** Field name specified in the form */
      fieldname: string;
      ...
}

我的最终目标是这个。

app.post('/admin/uploads', async (req, res) => {
    let file: Multer.File = req.files.myFile;
    console.log(file.filename);
    ....
}

如何访问Multer命名空间?

1 个答案:

答案 0 :(得分:1)

app.post('/admin/uploads', async (req, res) => {
    let file: Express.Multer.File = req.files.myFile;
    console.log(file.filename);
    ....
}