【发布时间】:2019-10-22 19:37:57
【问题描述】:
背景
我正在制作一个简单的网站,用户可以在其中上传图片。 我正在使用 Node/React/Multer/Typescript。
问题
app.post('/admin/uploads', async (req, res) => {
uploadHandler(req, res, (err) => {
...
if ( req.files.companyImage !== undefined ) {
...
}
res.sendStatus(201);
});
});
typescript intellisense 显示如下错误。
Property 'companyImage' does not exist on type '{ [fieldname: string]: File[]; } | File[]'.
Property 'companyImage' does not exist on type '{ [fieldname: string]: File[]; }'.ts(2339)
但是,我不明白为什么这是错误的。我认为files 对象的类型为{ [fieldname: string]: File[]; }。这意味着files 对象可以具有字符串属性。
所以我用简单的例子进行测试。
type myType = {
[fieldName: string]: number
}
let req: myType = {
a: 333,
b: 344
}
console.log(req.a);
console.log(req.c); // undefined but intellisense don't show error
我不知道为什么files 对象不能有companyImage 属性。
请检查。
【问题讨论】:
标签: node.js typescript express multer