Node.js 的 querystring 模块用于解析和格式化 URL 查询字符串
将字符串参数解析成对象
将对象参数解析成字符串
querystring.stringify 用于生成 URL 查询字符串,通常用于构造 URL 参数
数据类型:
querystring.stringify 可以将任何 JavaScript 值转换为查询字符串,包括函数、undefined、Symbol 等
输出格式:
querystring.stringify 输出的字符串遵循 URL 查询字符串格式,并且会进行 URL 编码
安装模块:
npm install querystring
- // 导入查询参数的模块
-
- const querystring = require('querystring');
见我后续写的代码
formidable模块在Node.js中主要用于解析POST请求中的表单数据。这主要是因为POST请求通常用于提交数据到服务器,如用户填写的表单数据。而formidable模块的设计目标就是简化这种类型的数据的解析过程。
- 1、安装
- npm install formidable -save
- 2、导入
- const formidable = require(‘formidable’)
- 3、创建对象
- var form = new formidable.IncomingForm([options])
- 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 //返回将要接收到当前表单所有数据的大小
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 文件的大小(字节数)
- field事件在接收到一个字段键值对的时候触发 eg:{name:xxx}
- file事件在接收到一个文件字段值时触发。file是File的实例
- err在接收form表单提交的数据发生错误时触发。
先在终端 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 {
- ...
- }
-
- })
见我后续写的代码