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。我不能只使用另一个身份验证包。我不知道要解决这个问题。
答案 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();
})