为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

LEATH 2021-12-02 14:39:26
我正在向 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 也不支持以这种方式解析表单。
查看完整描述

2 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

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 method

npm using ('connect-multiparty')

while uploading file,set content type = formType...


查看完整回答
反对 回复 2021-12-02
?
九州编程

TA贡献1785条经验 获得超4个赞

嵌套对象结构的多部分表单数据需要特殊处理。经过一些尝试,我能够在两个图书馆的帮助下完成我需要的工作。一个名为“object-to-formdata”的前端,可以安装为npm i object-to-formdata

当这个对象作为请求负载发送到后端时,它可以由 NodeJs/ExpressJs 服务器使用这个依赖multiparty解析,它可以使用npm i multiparty安装,这将分别解析 JSON 数据和文件,解析中的 fieldName 字段文件,以便您可以在采取必要的操作后确定挂钩文件的位置。

这帮助我使用单个请求保存我的多部分表单数据,包括 JSON 数据以及嵌套对象中的文件。


查看完整回答
反对 回复 2021-12-02
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信