formidable处理node.js的post请求

2019-08-15  本文已影响0人  小唱同学

formidable Node.js模块,用于解析表单数据.

下载并引入

npm i formidable --save
const formidable = require('formidable')

在路由中使用

app.post('/student',(req,res) => {
        //创建一个form对象
        const form = new formidable.IncomingForm();
        //使用form.parse进行接收
        //req请求来的所有请求信息, 从req中解析,有err抛出err, 
        // 解出来的常规表单域放在fields中,
        // 解出来的文件放在files中
        form.parse(req,function(err,fields,files){
          console.log(fields);
        });
      });

formidable上传文件的使用和进行表单接收数据的使用方法基本相同,但是这里有两个非常重要的区别

form中必须设置enctype以及表单中的上传控件必须设置name属性。
//form中必须有enctype属性
<form action="/student" enctype="multipart/form-data" method="post">
  <p>
    <input type="file" name="fileUpload">  //这里必须有name属性
  </p>
  <p>
    <input type="submit" value="上传" id="btn2">
  </p>
</form>

formidable插件主要有两个重要功能:
1,处理Node.js中的post请求(通常是表单请求时使用)
2,进行文件或者图片的上传(在Node.js中用得非常多)
上一篇下一篇

猜你喜欢

热点阅读