欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
一、概念
 
Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。
 
注意: Multer 不会处理任何非 multipart/form-data 类型的表单数据。
 
二、安装
 
npm i multer --save
 
三、使用(页面底部有单文件、多文件上传案例)
 
Multer 会在express 的 request 对象里添加一个 body 对象 (包含表单的文本域信息)以及 file 或 files 对象 (单文件通过req.file获取,多文件通过req.files获取,file 或 files 对象包含对象表单上传的文件信息)。
 
四、基本使用
 
//1.引入依赖
 
const express = require('express')
 
const multer  = require('multer')
 
//存储在uploads文件夹下面,没有会直接创建
 
const upload = multer({ dest: 'uploads/' }) 
 
const app = express()
 
//相同的
 
//以下fielname(字符串)必须前端传过来的myformData对象的属性名一致,不然后端接收不到这个文件对象 // req.body 将具有文本域数据,如果存在的话
 
app.post('/profile', upload.single(fielname), function (req, res, next) {
 
  //multer实例.single(fielname)——单文件上传,文件对象获取通过req.file
 
  //multer实例.single(fieldame)——接受一个以fielname命名的文件,这个文件的信息保存在req.file中的fielname属性
 
  // req.body 将具有文本域数据,如果存在的话
 
})
 
app.post('/photos/upload', upload.array(fielname, 12), function (req, res, next) {
 
  //multer实例.array(fielname[,maxCount])——接收一个以fielname命名的文件数组;maxCount——限制上传的最大数量,这些文件的信息保存在req.files里面
 
})
 
const cpUpload = upload.fields([{ name:fields[, maxCount: 1 ]}, { name: 'gallery', maxCount: 8 }])
 
//multer实例.files(fields)——接受指定fields的混合文件,获取——req.files
 
//fields应该是一个对象数组,应该具有name和可选的maxCount属性
 
 app.post('/profile', upload.none(), function (req, res, next) {
 
  //multer实例.none()——只接受文本域
 
})

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h64228.shtml