var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
if (err) {
res.status(200).send('parsing error');
}
});
var jsonObject;
var imageArray = [];
form.on('file', function(field, file) {
console.log(file);
if (file.type == 'application/json') {
jsonObject = JSON.parse(fs.readFileSync(file.path, 'utf8'));
} else if (file.type == 'image/jpeg') {
imageArray.push(file.path);
}
})
我使用formidable处理我的iOS应用程序生成的node.js中的多部分请求,该请求通常包含" n"强大的中间件将JSON视为文件,并将文件存储在临时下载位置,并提供文件路径,代码" jsonObject = JSON.parse(fs.readFileSync)图像数量和关联的JSON对象(file.path,' utf8'));"读取文件并解析为JSON对象。这是它应该如何工作或有更好的方法,否定多余的文件写入和从磁盘读取并直接提供解析的JSON obj。
PS - 对于node.js的新手,用一个非常糟糕的情况OCD来修复整个后端系统的新手。
答案 0 :(得分:0)
如果在filename
标头值中设置了Content-Disposition
(或者可能是Content-Type
,那么Formidable(几乎任何其他节点形式的解析模块)都只会将特定部分视为文件是application/octet-stream
)。