Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在表的多行中上载单个文件-在react中formdata,在节点中使用express的multer-仅需要建议_Node.js_Express_Multer - Fatal编程技术网

Node.js 在表的多行中上载单个文件-在react中formdata,在节点中使用express的multer-仅需要建议

Node.js 在表的多行中上载单个文件-在react中formdata,在节点中使用express的multer-仅需要建议,node.js,express,multer,Node.js,Express,Multer,我有一个场景,比如在一个有两列的表中有多行——一列对应一个文件,另一列对应一个用户可以选择的日期 我能弄清楚的唯一方法是如下所示——为文件使用相同的密钥和对应的日期。 但这里的挑战在于我的nodejs代码 router.post('/dosomething', upload.fields([ { name: 'testdata1', maxCount: 1 }, { name: 'testdata2', maxCount: 1 } ]), function (

我有一个场景,比如在一个有两列的表中有多行——一列对应一个文件,另一列对应一个用户可以选择的日期

我能弄清楚的唯一方法是如下所示——为文件使用相同的密钥和对应的日期。

但这里的挑战在于我的nodejs代码

 router.post('/dosomething', upload.fields([
      { name: 'testdata1', maxCount: 1 },
      { name: 'testdata2', maxCount: 1 }
    ]), function (req, response) {
      console.log(req.files); //returns both file details
      console.log(req.body.testdata1); // returns date of testdata1
      console.log(req.body.testdata2); //returns date of testdata2
      response.json("do nothing");
})

上传量的限制是不灵活的。考虑有10-15上传可能,我必须有15个不同的密钥,比如我有TestDATA1和TestDATA2,我觉得这不是一个好的选择。您能否建议是否有其他方法来实现此目的?

一种可能性是首先使用
upload.any()
接受所有文件,然后验证收到的文件是否正确。因此,您需要检查req.body中testdataX的数量是否等于接收到的文件数量

router.post("/dosomething", upload.any(), function (req, res) {
  // validate testdataX's in req.body match req.files.length
  // continue with processing...
});