req.files始终为null express-fileupload

时间:2020-02-25 10:42:28

标签: node.js express multer express-jwt

TLDR:express-jwt与在node.js API的req参数中添加内容的软件包产生冲突(例如,express-upload,例如multer)。

我正在使用node.js API,无法删除任何软件包。我正在尝试将文件从前端上传到API。我为此使用了许多软件包(express-fileupload,multer ...),但是它们都没有解决我的问题。创建API的人使用express-jwt进行身份验证。通过在API的req.user字段中添加一些信息来工作。

我的问题是,用于在nodejs中上载文件的软件包似乎与express-jwt产生冲突。如果我禁用它,则将按要求填充req.files,并且一切正常。但是当我重新安装express-jwt时,req.files始终为null。我不能只使用另一个身份验证包。我不知道要解决这个问题。

1 个答案:

答案 0 :(得分:0)

我知道了。您必须先调用express-fileupload中间件。我添加了以下代码,之后在任何中间件中都可以访问req.files。

#include<stdio.h>
int main()
{

    int m=1;
    char c='1';

    if(c=='m')
    printf("yes");

return 0;
}

由于任何原因,如果您首先调用express-jwt,则不会填充req.files。对我来说,引起冲突的那条线是:

const fileUpload = require('express-fileupload');
app.use(fileUpload());
app.use((req: any, res: any, next: any) => {
    console.log("user :  " + req.user + " ===== files : " + req.files);
    next();
})