Node.js 在表的多行中上载单个文件-在react中formdata,在节点中使用express的multer-仅需要建议
我有一个场景,比如在一个有两列的表中有多行——一列对应一个文件,另一列对应一个用户可以选择的日期 我能弄清楚的唯一方法是如下所示——为文件使用相同的密钥和对应的日期。 但这里的挑战在于我的nodejs代码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 (
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...
});