通过requestJS POST请求发送JSON对象和图像文件的数组
我使用NODEjs构建REST API,使用Express路由器和Multer中间件来处理多个主体数据和文件。
我的端点路由127.0.0.1/api/postData期望:带有字段的json数据,其中一个是json对象数组(我有嵌套猫鼬模式)和2个命名图像(png / jpg)。
我需要通过cURL使用以下5对象数据结构发送Post请求:
name String
description String
usersArray Array of json objects like: [{"id": "123"}, {"id": "456}]
imgIcon Png/Image providing /path/to/imageIcon.png
imgHeader Png/Image providing /path/to/imageHeader.png
任何想法如何写request.js节点http请求库的帮助下请求库?
尝试以下操作:
request.post({
url:'http://127.0.0.1:7777/api/postData'
, formData: formData
, qsStringifyOptions : {
arrayFormat : 'brackets' // [indices(default)|brackets|repeat]
}
}, function (err, httpResponse, body) {
// do something...
}
我在https://www.npmjs.com/package/qs(https://www.npmjs.com/package/request)中发现了三个arrayFormat选项:
'indices' sends in postbody: (this is the default case)
usersArray%5B0%5D%5Bid%5D=a667cc8f&usersArray%5B1%5D%5Bid%5D=7c7960fb
decoded:
usersArray[0][id]=a667cc8f&usersArray[1][id]=7c7960fb
'brackets' sends in postbody:
usersArray%5B%5D%5Bid%5D=a667cc8f&usersArray%5B%5D%5Bid%5D=7c7960fb
decoded:
usersArray[][id]=a667cc8f&usersArray[][id]=7c7960fb
'repeat' sends in postbody:
usersArray%5Bid%5D=a667cc8f&usersArray%5Bid%5D=7c7960fb
decoded:
usersArray[id]=a667cc8f&usersArray[id]=7c7960fb
这些是在发布之前序列化数组的三种不同方法。 基本上它取决于接收端如何这些需要/可以格式化。 在我的情况下,它有助于使用“括号”
链接地址: http://www.djcxy.com/p/8587.html上一篇: POST request via requestJS to send Array of JSON Objects and image files