FormData数据后端获取方法汇总
FormData是一种用于发送表单数据的数据格式,它可以被用来发送二进制文件和字符串,也可以用来发送表单数据。FormData数据可以用多种方式在后端获取,下面我们就来汇总一下:
1.使用Node.js的body-parser中间件
Node.js的body-parser中间件是一个非常方便的工具,可以解析FormData数据,具体使用方法如下:
// 安装body-parser $ npm install body-parser // 在文件中引入body-parser const bodyParser = require('body-parser'); // 使用body-parser中间件 app.use(bodyParser.urlencoded({ extended: false })); // 获取FormData数据 app.post('/', function (req, res) { console.log(req.body); });
2.使用Node.js的koa-bodyparser中间件
koa-bodyparser是一个Koa2的中间件,可以用来解析FormData数据,具体使用方法如下:
// 安装koa-bodyparser $ npm install koa-bodyparser // 在文件中引入koa-bodyparser const bodyParser = require('koa-bodyparser'); // 使用koa-bodyparser中间件 app.use(bodyParser()); // 获取FormData数据 app.post('/', function (ctx, next) { console.log(ctx.request.body); });
3.使用Node.js的raw-body中间件
raw-body是一个Node.js的中间件,可以用来解析FormData数据,具体使用方法如下:
// 安装raw-body $ npm install raw-body // 在文件中引入raw-body const rawBody = require('raw-body'); // 使用raw-body中间件 app.use(async (ctx, next) => { const body = await rawBody(ctx.req); console.log(body); });
4.使用Node.js的formidable中间件
formidable是一个Node.js的中间件,可以用来解析FormData数据,具体使用方法如下:
// 安装formidable $ npm install formidable // 在文件中引入formidable const formidable = require('formidable'); // 使用formidable中间件 app.use(async (req, res) => { const form = new formidable.IncomingForm(); form.parse(req, function (err, fields, files) { console.log(fields); }); });
5.使用Node.js的multer中间件
multer是一个Node.js的中间件,可以用来解析FormData数据,具体使用方法如下:
// 安装multer $ npm install multer // 在文件中引入multer const multer = require('multer'); // 使用multer中间件 app.use(multer().any()); // 获取FormData数据 app.post('/', function (req, res) { console.log(req.body); });
6.使用Node.js的busboy中间件
busboy是一个Node.js的中间件,可以用来解析FormData数据,具体使用方法如下:
// 安装busboy $ npm install busboy // 在文件中引入busboy const Busboy = require('busboy'); // 使用busboy中间件 app.use(async (req, res) => { const busboy = new Busboy({ headers: req.headers }); busboy.on('file', (fieldname, file, filename, encoding, mimetype) => { console.log('File [' + fieldname + ']: filename: ' + filename + ', encoding: ' + encoding + ', mimetype: ' + mimetype); }); busboy.on('field', (fieldname, val, fieldnameTruncated, valTruncated, encoding, mimetype) => { console.log('Field [' + fieldname + ']: value: ' + inspect(val)); }); busboy.on('finish', function() { console.log('Done parsing form!'); res.writeHead(303, { Connection: 'close', Location: '/' }); res.end(); }); req.pipe(busboy); });
7.使用PHP的$_POST变量
PHP中的$_POST变量可以用来获取FormData数据,具体使用方法如下:
// 获取FormData数据 $data = $_POST; print_r($data);
8.使用PHP的$_FILES变量
PHP中的$_FILES变量可以用来获取FormData数据,具体使用方法如下:
// 获取FormData数据 $data = $_FILES; print_r($data);
9.使用Python的request.form变量
Python中的request.form变量可以用来获取FormData数据,具体使用方法如下:
# 获取FormData数据 data = request.form print(data)
10.使用Java的HttpServletRequest对象
Java中的HttpServletRequest对象可以用来