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对象可以用来