作用:解析表单,支持get请求参数,post请求参数、文件上传 在ajax技术中也可以用来处理传过来的formadata对象
原本使用的body-parser模块无法对包含文件的二进制上传表单加以处理 所以需要使用该模块
模块使用示例
具体实例
const path = require('path');
//因为文章表单里面包含上传的文件 (文章封面)
//req.body无法获取包含文件的二进制表单
//所以要使用formidable模块
//1.引入模块
const formidable = require('formidable');
module.exports = (req, res) => {
//创建表单解析对象
const form = new formidable.IncomingForm();
//配置上传文件的目录 路径推荐写绝对路径
form.uploadDir = path.join(__dirname, '../', '../', 'public', 'uploads');
//保留上传文件的后缀
form.keepExtensions = true;
//解析表单
form.parse(req, (err, fields, files) => {
//err错误对象 如果解析失败包含错误信息 解析成功nan
// fields 存储普通请求参数 对象类型 {属性:值} 保存除了二进制文件外的其他表单数据
// files 对象类型 存储上传的文件信息
res.send(fields);
})
}