querystring模块、formidable模块的介绍

一、querystring模块

Node.js 的 querystring 模块用于解析和格式化 URL 查询字符串

(1)querystring.parse (url) 

将字符串参数解析成对象

(2)querystring.stringify (urlObject)

将对象参数解析成字符串

(3)总结:以querystring.stringify为例

用途:

querystring.stringify 用于生成 URL 查询字符串,通常用于构造 URL 参数

数据类型:

querystring.stringify 可以将任何 JavaScript 值转换为查询字符串,包括函数、undefined、Symbol 等

输出格式:

querystring.stringify 输出的字符串遵循 URL 查询字符串格式,并且会进行 URL 编码

(4)querystring模块的使用

安装模块:

npm install querystring

// 导入查询参数的模块

const querystring = require('querystring');

(5)代码示例:

见我后续写的代码

二、formidable模块

(1)介绍

formidable模块在Node.js中主要用于解析POST请求中的表单数据。这主要是因为POST请求通常用于提交数据到服务器,如用户填写的表单数据。而formidable模块的设计目标就是简化这种类型的数据的解析过程。

 1、安装
npm install  formidable  -save
 2、导入
const  formidable = require(‘formidable’)
 3、创建对象
var form = new formidable.IncomingForm([options])

(2)form对象

1》 form对象常用属性:
form.encoding = 'utf-8'         //设置表单域的编码
 form.uploadDir = "/my/dir";  //设置上传文件存放的文件夹,默认为系统的临时文件夹,可以使用fs.rename()来改变上传文件的存放位置和文件名
 form.keepExtensions = false;   //设置该属性为true可以使得上传的文件保持原来的文件的扩展名。
 form.type            //只读,根据请求的类型,取值'multipart' or urlencoded'
 form.maxFields = 1000 //设置可以转换多少查询字符串,默认为1000
form.hash = false;  //设置上传文件的检验码,可以有两个取值'sha1' or 'md5'.
form.multiples = false;  //开启该功能,当调用form.parse()方法时,回调函数的files参数将会是一个file数组,数组每一个成员是一个File对象,此功能需要 html5中multiple特性支持。
form.bytesReceived  //返回服务器已经接收到当前表单数据多少字节
form.bytesExpected  //返回将要接收到当前表单所有数据的大小
2》 form对象常用方法:

form.parse(request, [callback]) 
该方法会转换请求中所包含的表单数据,callback会包含所有字段域和文件信息,如:

form.parse(req, function(err, fields, files) { 
     ...    //request请求、对表单请求解析后的域的内容、文件 
    });

files:对象,其属性file(对应表单中的属性名称)存放上传的文件数组        

files.file[n]  file数组的元素是上传文件对象

file.filepath=’’ 上传后文件的绝对路径

file.newFilename= null 上传后文件名。

file.originalFilename= null 客户文件名称

file.mimetype= null 上传文件的mime类型

file.size=null 文件的大小(字节数)

3》 form对象常见事件:
field事件在接收到一个字段键值对的时候触发 eg:{name:xxx}
file事件在接收到一个文件字段值时触发。file是File的实例
err在接收form表单提交的数据发生错误时触发。

(3)formidable模块的使用

先在终端 npm install formidable -save安装formidable

const formidable = require('formidable');
var form = new formidable.IncomingForm({
            uploadDir: path.join(__dirname, '存放的文件夹路径'),
            keepExtensions: true,
            multiples: true
        });

        form.parse(req, (err, fields, files) => {
            if (err) {
                console.log(err.message);
            } else {
                 ...
            }

        })

(4)代码示例:

见我后续写的代码

相关推荐

  1. querystring模块formidable模块介绍

    2024-04-25 08:20:04       13 阅读
  2. PyTorch核心模块介绍

    2024-04-25 08:20:04       35 阅读
  3. Node.js https 模块介绍

    2024-04-25 08:20:04       26 阅读
  4. Node.js os 模块介绍

    2024-04-25 08:20:04       35 阅读
  5. Python ipaddress模块介绍

    2024-04-25 08:20:04       38 阅读
  6. Python模块介绍

    2024-04-25 08:20:04       13 阅读
  7. PyTorch自动微分模块torch.autograd详细介绍

    2024-04-25 08:20:04       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-25 08:20:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-25 08:20:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-25 08:20:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-25 08:20:04       18 阅读

热门阅读

  1. 【Vue3】ref对象类型的响应式数据

    2024-04-25 08:20:04       14 阅读
  2. 双机部署学习

    2024-04-25 08:20:04       11 阅读
  3. 图论基础知识 并查集/例题

    2024-04-25 08:20:04       13 阅读
  4. 树形dp,LeetCode 2385. 感染二叉树需要的总时间

    2024-04-25 08:20:04       11 阅读
  5. 猎聘爬虫(附源码)

    2024-04-25 08:20:04       10 阅读
  6. 06.2_c/c++开源库boost_coroutine2 协程库

    2024-04-25 08:20:04       13 阅读