Nodejs forEach 优于 req.files

问题描述 投票:0回答:1

我在迭代时遇到困难

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}。此循环用于创建用户上传的文件。

现在上面的代码只会生成一个文件,但我希望它生成多个文件

node.js loops object iteration
1个回答
2
投票

您可以执行类似的操作,因为

req.files
是一个我们可以使用键对其进行迭代的对象。

for (const file in req?.files) {
    console.log(req.files[file]);
}

注意:不要使用 for 循环,而是使用

for in
循环。

© www.soinside.com 2019 - 2024. All rights reserved.