【发布时间】:2017-10-27 09:55:52
【问题描述】:
request.on('end', function () {
if (request.headers.hasOwnProperty('content-type') && request.headers['content-type'].indexOf('boundary=') > -1) {
var parts = request.headers['content-type'].split('boundary=');
var boundary = parts[1];
var splitBody = requestBody.split(boundary);
console.log(splitBody);
res.writeHead(200, { "Content-Type": "application/json" });
res.write(JSON.stringify({ formFields: splitBody }));
}
else {
//bad request
res.writeHead(400, { "Content-Type": "text/paint" });
res.write("missing boundary in content-type ");
}
});
所以我得到了这个(console.log):
[ '--',
'\r\nContent-Disposition: form-data; name="image"\r\n\r\n/ap.jpg\r\n--',
'\r\nContent-Disposition: form-data; name="name"\r\n\r\nsmth\r\n--',
'--\r\n' ]
所以基本上我想做的是遍历 splitBody 并匹配键和值并将其添加到字段数组中。最好的方法是什么?
所以基本上不是这样:
'\r\nContent-Disposition: form-data; name="image"\r\n\r\n/ap.jpg\r\n--',
应该是这样的:
image=ap.jpg
应该添加
【问题讨论】:
-
显示想要的结果
-
@RomanPerekhrest 查看编辑
-
@RomanPerekhrest 有什么想法吗?
-
我想,应该有一些东西(内置)可以预先从
requestBody中删除换行符
标签: node.js regex split match form-fields