Express multer 的基本用法

Express multer 的基本用法

Flying
2017-06-04 / 0 评论 / 120 阅读 / 正在检测是否收录...

Multer 是用于处理 multipart/form-data 的 node.js 中间件,主要用于上传文件。 它基于 busboy 之上编写,以实现最高效率。本文将简单介绍怎样使用 multer 上传文件。Multer 会添加一个 body 对象以及 filefiles 对象到 Express 的 request 对象中。body 对象包含表单的文本域信息,filefiles 对象包含对象表单上传的文件信息。

upload-multer.png

安装

npm install multer

API

var express = require('express')
var multer  = require('multer')
var upload = multer({ dest: 'uploads' })

var app = express()

app.post('/profile', upload.single('avatar'), function (req, res, next) {
  ...
})

文件信息

每个文件具有下面的信息:

属性描述备注
fieldnameField name 由表单指定
originalname用户计算机上的文件的名称
size文件大小(字节单位)
destination保存在 destination 中的文件名DiskStorage
filename文件大小(字节单位)DiskStorage
path已上传文件的完整路径DiskStorage

multer(opts)

Multer 接受一个 options 对象,其中最基本的是 dest 属性,这将告诉 Multer 将上传文件保存在哪。如果你省略 options 对象,这些文件将保存在内存中,永远不会写入磁盘。

以下是可以传递给 Multer 的选项。

选项描述
dest/storage在哪里存储文件
fileFilter文件过滤器,控制哪些文件可以被接受
limits限制上传的数据
preservePath保存包含文件名的完整文件路径

参考实例

访问 codesandbox 查看完整实例代码及最终效果

注意

Multer 不会处理任何非 multipart/form-data 类型的表单数据。

相关教程

4

评论 (0)

取消