我在迭代时遇到困难
req.files
如何迭代 files0、files1 和 ....
在我的组件中:
for (let i = 0; i < this.selectedFile.length; i++) {
files.append(`files${i}`, this.selectedFile[i]);
}
在节点文件中:
let file = req.files.files0
return file.mv('./uploads/'+file.name)
当我记录 req.files 时,我的代码如下所示:它是一个对象,其中包含对象:
[Object: null prototype] {
files0: {
name: 'Cakkkpture.PNG',
data: <Buffer >,
size: 28219,
encoding: '7bit',
tempFilePath: '\\tmp\\tmp-4-1648625334268',
truncated: false,
mv: [Function: mv]
}
}
欲了解更多详情:
实际上,我正在使用
express-fileupload
库来访问 req.files
默认值,它使对象 b 默认,并且我通过附加数据将另一个对象作为它的子对象:
let files = new FormData();
for (let i = 0; i < this.selectedFile.length; i++) {
files.append(`files${i}`, this.selectedFile[i]);
}
它会为
req.files
制作类似的东西
req.files: {
files0: {
},
files1: {
}
}
随着用户输入更多文件${i}。此循环用于创建用户上传的文件。
现在上面的代码只会生成一个文件,但我希望它生成多个文件
您可以执行类似的操作,因为
req.files
是一个我们可以使用键对其进行迭代的对象。
for (const file in req?.files) {
console.log(req.files[file]);
}
注意:不要使用 for 循环,而是使用
for in
循环。