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 の初心者、非常に悪いケースの OCD を備えたバックエンド システム全体の初心者です。

4

1 に答える 1

0

手ごわい(および他のほとんどすべてのノードフォーム解析モジュール)はfilename、ヘッダー値に が設定されているContent-Disposition場合(または場合によってContent-Typeapplication/octet-stream)、特定の部分のみをファイルとして扱います。

于 2014-10-30T16:33:34.933 に答える