从nodejs中的多部分请求中检索JSON对象

时间:2014-10-26 15:29:32

标签: javascript json node.js formidable

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来修复整个后端系统的新手。

1 个答案:

答案 0 :(得分:0)

如果在filename标头值中设置了Content-Disposition(或者可能是Content-Type,那么Formidable(几乎任何其他节点形式的解析模块)都只会将特定部分视为文件是application/octet-stream)。