如何在 NodeJs/ExpressJs 中解析多部分表单,其中文件嵌套在表单数据中?

我正在向 NodeJs/ExpressJs 应用程序服务器发送多部分表单请求,其中包含嵌套在对象内的多部分表单中的动态文件字段。例如:


multipartFormData = {

   title: 'Virtual Assistant',

   education: [

      {

         description: 'VA Certification from XYZ University'

      }

   ],

   portfolio: [

      { 

        title: 'Microsoft Power BI',

        certificate: File

      },

      { 

        title: 'Google Certified VA',

        certificate: File

      }

   ]

}

这里投资组合中的认证是一个文件,用户可以向其中添加更多投资组合项目。如何使用 NodeJs 和 ExpressJs 在服务器上解析这个 Multipart 表单,以便我可以访问投资组合中的证书字段?之后我可以将它保存到服务器并为它添加 URL 而不是数据库中的文件。


我曾尝试使用多方依赖,但它返回 Files 作为一个空对象 {} 和带有组合字段的字段作为字符串数组“[object Object]”,它是一个文字字符串。


multer 也不支持以这种方式解析表单。


LEATH
浏览 180回答 2
2回答

慕尼黑8549860

import express from 'express';var multipart = require('connect-multiparty');var multipartMiddleware = multipart();var router = express.Router();router.post('/',multipartMiddleware,controller.create);module.exports = router;try this in route file and add middleware in post methodnpm using ('connect-multiparty')while uploading file,set content type = formType...

九州编程

嵌套对象结构的多部分表单数据需要特殊处理。经过一些尝试,我能够在两个图书馆的帮助下完成我需要的工作。一个名为“object-to-formdata”的前端,可以安装为npm i object-to-formdata当这个对象作为请求负载发送到后端时,它可以由 NodeJs/ExpressJs 服务器使用这个依赖multiparty解析,它可以使用npm i multiparty安装,这将分别解析 JSON 数据和文件,解析中的 fieldName 字段文件,以便您可以在采取必要的操作后确定挂钩文件的位置。这帮助我使用单个请求保存我的多部分表单数据,包括 JSON 数据以及嵌套对象中的文件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript