nodejs Multer中间件

更新日期: 2020-01-24 阅读: 1.9k 标签: 中间件
Multer是一个Node.js中间件,用于处理 multipart/form-data 类型的表单数据,主要用于文件上传,注意:Multer中间件不会处理任何非 multipart/form-data 类型的表单数据。
Multer会自动添加一个body对象及file或files对象到 express框架的request 对象,fifile或fifiles对象包含表单上传的文件信息。
通过表单上传文件时需要注意的是:
(1)单的提交方式只能是POST
(2)须设置表单的 enctype="multipart/form" 属性

1 安装:
npm install --save multer

2.用法:
var multer = require(‘multer‘);
var upload = multer({...});

3.multer配置:
//1.进行Multer的自定义配置
var storage = multer.diskStorage({
//设置文件上传的位置,cb(callback简写)
destination: function (req, file, cb) {
//上传到path变量所指定的位置
cb(null, path);
},
//设置上传文件名称的操作
filename: function (req, file, cb) {
//对于文件名进行相关的操作
//获取原始文件的扩展名
var extension = file.originalname.substr(file.originalname.lastIndexOf(‘.‘)+1).toLowerCase();
//生成新的文件名
var filename = uuid.v1() + ‘.‘ + extension;
cb(null, filename);
}
});
//2.使用自定义配置
var upload = multer({ storage: storage });

4.请求参数
(1)single(fifieldname)
接收以fifieldname命名的文件上传,该文件的信息存储在 req.file 内,如:
app.post(‘/single‘,upload.single(‘avater‘), (req, res) => {
  res.send({ message: ‘OK‘ });
});
// single它是Multer对象的请求参数名称,avater指表单中input type="file"的name的属性值

 (2)array(fieldname,[maxCount])

接收以fieldname命名的上传文件数组,可通过maxCount参数限制上传文件的最大数量,这些文件的信息存储在 req.files 内,如:
app.post(‘/multiple‘,upload.array(‘album‘), (req, res) => {
  res.send({ message: ‘OK‘ });
});


 5.req.fifile及req.fifiles

req.fifile返回单文件上传时的文件相关信息对象
req.fifiles返回多文件上传时的文件相关信息数组
信息有:
originalname,上传文件的原始名称
fifilename,文件上传后的名称
size,上传文件的字节数(以字节为单位)
mimetype,上传文件的MIME类型


6.UUID
UUID(Universally Unique Identififier),通用唯 一识别码,其目的是为了让分布式系统中的所有元素都能存在唯一标识信息 -- 文件名称
格式 8-4-4-4-12的形态
安装:npm install --save uuid
使用UUID:
//生成基于时间戳的
UUID uuid.v1();
//生成生成随机数的
UUID uuid.v4();

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/8382

nodejs中间件

中间件:为主要的逻辑业务所服务 分为应用级中间件、路由级中间件、内置中间件、第三方中间件、错误级中间件,每一个中间件就是调用一个函数,需要配合其他的中间件或者路由使用

对于Node中Express框架的中间件概念的感知

中间件就是客户端http请求发起传送到服务器和服务器返回响应之间的一些处理函数。通过中间件,可以对数据进行操作使得我们能方便地操作请求数据编写服务器响应。

Node.js 中间件是怎样工作的?

你需要安装一些东西来创建、使用和测试 Express 中间件。首先需要 Node 和 NPM。你应该看到已安装的 Node 和 NPM 版本。如果出现错误,则需要安装 Node。所有例子都应在 Node ver 8+ 和NPM ver 5+ 下使用。

node中间件有哪些类型?

node中间件就是封装在程序中处理http请求的功能。node中间件是在管道中执行。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。

Next.js中间件:让页面代码变整洁的秘密武器

第一次听说Next.js中间件时,我心里想:听起来不错,但真的有必要吗?现在我可以肯定地说:非常有必要。只要你做过用户权限验证、访问日志、A/B测试或者页面重定向中的任何一项

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!