2
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);
    }
})

我正在使用强大的处理从我的 iOS 应用程序发出的 node.js 中的多部分请求,该请求通常包含“n”个图像和一个关联的 JSON 对象,强大的中间件将 JSON 视为一个文件并将文件存储在临时下载位置并提供文件路径,代码“jsonObject = JSON.parse(fs.readFileSync(file.path, 'utf8'));” 读取文件并解析为 JSON 对象。这是它应该如何工作还是有更好的方法,它否定了从磁盘写入和读取的多余文件并直接提供解析的 JSON obj。

PS - node.js 的新手,整个后端系统的新手,有一个非常糟糕的强迫症。

4

1 回答 1

0

filename如果在Content-Disposition标头值中设置(或者如果Content-Type是) ,强大的(以及几乎任何其他节点表单解析模块)只会将特定部分视为文件application/octet-stream

于 2014-10-30T16:33:34.933 回答