node.js - 如何使用 Multer 从子对象上传文件

标签 node.js express multer

我的应用程序中有一个用户对象,其中每个用户对象都有一个被提名者作为子对象,并带有文件字段名称照片。

JSON 对象

{
   name: 'Jhon Doe',
   phone: '01548761645',
   email: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a7cdcfc8c9e7c2cac6cecb89c4c8ca" rel="noreferrer noopener nofollow">[email protected]</a>',
   photo: File(),
   nominee: {
     name: 'Nominee name',
     phone: '9876546542',
     photo: File()
   }
}

快速

app.post(upload.fields([{name:'photo'}, {name:'nominee'}]), function(req, res) {

    res.send(req.files['photo']);        // send file details

    res.send(req.files['nominee']);     // did not show any file details
}

app.post(upload.fields([{name:'photo'}, {name:'nominee.photo'}]), function(req, res) {

    res.send(req.files['photo']);             // send file details

    res.send(req.files['nominee.photo']);     // did not show any file details
}

在我的快速代码中,我可以访问父对象的所有文件详细信息,但它没有显示子(提名)对象的任何详细信息。我的代码有什么问题或者 multer 不支持嵌套子字段..?

最佳答案

我知道有点晚了,但是

upload.single('nominee[photo]')

应该完成这项工作

关于node.js - 如何使用 Multer 从子对象上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710405/

相关文章:

javascript - express .静态: Cannot GET/

node.js - 使用 NodeJS Multer 转换上传

node.js - 路径参数,在 aws lambda 中使用授权器时正文为 null

node.js - GET http ://localhost:3000/lib/angular/angular. js 未找到错误

node.js - Mongoose Multi-Tenancy - 处理文档引用+填充

javascript - 通过 http 在两个 node.js 服务器之间传输文件

javascript - 我应该什么时候开始和结束我的node.js SQL 连接?我应该从一开始就使用池化吗?

node.js - 如何从 POST 正文获取 wav 文件并使用 Node JS/Express 上传

javascript - multer 文件上传不起作用

javascript - node.js 文件中绑定(bind)的函数是什么