如何解析 NodeJs/ExpressJs 中嵌套在表单数据中的文件的多部分表单?
How to parse Multipart Form in NodeJs/ExpressJs having files nested in form data?
我正在向我的 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 在服务器上解析这个多部分表单,以便我可以访问投资组合中的证书字段?之后我可以将它保存到服务器并为其添加 URL 而不是数据库中的文件。
我尝试过使用多方依赖关系,但它 returns 文件作为空对象 {} 并且带有投资组合字段的字段作为字符串数组“[object Object]”,这是一个文字字符串。
multer 也不支持以这种方式解析表单。
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...
具有嵌套对象结构的Multipart Form Data需要特殊处理。经过一些尝试,我能够在两个图书馆的帮助下完成我需要的东西。一个在前端名为 "object-to-formdata",可以安装为 npm i object-to-formdata
当此对象作为请求负载发送到后端时,NodeJs/ExpressJs 服务器可以使用此依赖项 multiparty 对其进行解析,该依赖项可以使用 npm i multiparty 这将单独解析 JSON 数据,并在解析的文件中使用 fieldName 字段单独解析文件,以便您可以在采取必要的操作后确定在哪里挂钩文件。
这帮助我通过单个请求保存了我的多部分表单数据,包括 JSON 数据以及嵌套对象中的文件。
我正在向我的 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 在服务器上解析这个多部分表单,以便我可以访问投资组合中的证书字段?之后我可以将它保存到服务器并为其添加 URL 而不是数据库中的文件。
我尝试过使用多方依赖关系,但它 returns 文件作为空对象 {} 并且带有投资组合字段的字段作为字符串数组“[object Object]”,这是一个文字字符串。
multer 也不支持以这种方式解析表单。
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...
具有嵌套对象结构的Multipart Form Data需要特殊处理。经过一些尝试,我能够在两个图书馆的帮助下完成我需要的东西。一个在前端名为 "object-to-formdata",可以安装为 npm i object-to-formdata
当此对象作为请求负载发送到后端时,NodeJs/ExpressJs 服务器可以使用此依赖项 multiparty 对其进行解析,该依赖项可以使用 npm i multiparty 这将单独解析 JSON 数据,并在解析的文件中使用 fieldName 字段单独解析文件,以便您可以在采取必要的操作后确定在哪里挂钩文件。
这帮助我通过单个请求保存了我的多部分表单数据,包括 JSON 数据以及嵌套对象中的文件。