web-dev-qa-db-ja.com

POSTフォームデータの解析Node.jsExpress

このフォームでフォームデータを取得しています

'------WebKitFormBoundarysw7YYuBGKjAewMhe\r\nContent-Disposition: form-data; name': '"a"\r\n\r\nb\r\n------WebKitFormBoundarysw7YYuBGKjAewMhe--\r\n

次のようなフォームデータにアクセスできるミドルウェアを見つけようとしています。

req.body.a // -> 'b'

私はもう試した

var express = require('express');
var app = express();


var bodyParser = require('body-parser');

// parse application/x-www-form-urlencoded 
app.use(bodyParser.urlencoded({ extended: false }))

実装に問題がありますか、それとも正しいミドルウェアを使用していませんか?

8
Dan Baker

動作したツールは multiparty

app.post('/endpoint', function (req, res) {
    var form = new multiparty.Form();
    form.parse(req, function(err, fields, files) {
        // fields fields fields
    });
})
8
Dan Baker

私のために働いた図書館は、表現力豊かでした。クリーンで高速で、マルチパートリクエストもサポートします。これが 彼らのドキュメント からのコードです

一緒にインストール:

npm install -S express-formidable

使用例は次のとおりです。

const express = require('express');
const formidable = require('express-formidable');

var app = express();

app.use(formidable());

app.post('/upload', (req, res) => {
  req.fields; // contains non-file fields 
  req.files; // contains files 
});
3
Chandan Purohit