Express 文件上传不迷路:req.files 一次性讲明白
前言
在开发后台接口的江湖中,文件上传堪称“隐藏副本”,难度不大但坑点极多。本来只想优雅接收一张图片,结果 undefined、报错、路径错乱轮番登场,逼得人想重拾卖烤红薯的梦想。别慌,本文将用轻松幽默的方式,深入拆解 req.files.file 的每个属性,从前端表单到后台处理逐步讲透,助你从“上传抓瞎”变身“文件收割机”!
简介
Express 是 Node.js 世界里的超级工具人,说它是最受欢迎的 Web 框架毫不夸张。处理文件上传时,配合 express-fileupload 模块,简直像给它装上外挂,省心又高效。
只要前端乖乖地传个 cat.jpg,后台这边一用 req.files.file,文件的身份信息就全都暴露在光天化日之下:名字叫什么、体型有多胖、血型是哪种(MIME 类型)、DNA 序列(MD5 值)通通一览无遗,简直比体检报告还详细。
术语归纳
术语 | 含义 |
req.files | 请求中的文件对象集合 |
req.files.file | <input name="file" /> 中的 name |
.mv() | 将上传文件保存到磁盘的函数 |
.mimetype | 文件的 MIME 类型,例如 image/jpeg |
.size |