我的编程空间,编程开发者的网络收藏夹
学习永远不晚

node中multer的概念是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

node中multer的概念是什么

这篇文章主要介绍“node中multer的概念是什么”,在日常操作中,相信很多人在node中multer的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node中multer的概念是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在node中,multer是一个用于处理“multipart/form-data”类型数据格式的中间件,主要用于上传文件;该中间件在解析完请求体后,会向Request对象中添加一个body对象和一个file或files对象。

本文操作环境:Windows10系统、nodejs 12.19.0版、Dell G3电脑。

node中multer是什么意思

Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。它是写在 busboy 之上非常高效。

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

Multer在解析完请求体后,会向Request对象中添加一个body对象和一个file或files对象(上传多个文件时使用files对象 )。

其中,body对象中包含所提交表单中的文本字段(如果有),而file(或files)对象中包含通过表单上传的文件。

Tips:multipart/form-data是用来指定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或者mp3等等

const express = require('express')
const multer  = require('multer')
const app = express()
const storage = multer.diskStorage({
  //保存路径
  destination: function (req, file, cb) {
    cb(null, '/tmp/my-uploads')
    //注意这里的文件路径,不是相对路径,直接填写从项目根路径开始写就行了
  },
  //保存在 destination 中的文件名
  filename: function (req, file, cb) {    
    cb(null, file.fieldname + '-' + Date.now())
  }
})
const upload = multer({ storage: storage })
app.post('/profile', upload.single('avatar'), function (req, res, next) {
  // req.file 是 `avatar` 文件的信息
  // req.body 将具有文本域数据,如果存在的话
})
app.post('/photos/upload', upload.array('photos', 12), function (req, res, next) {
  // req.files 是 `photos` 文件数组的信息
  // req.body 将具有文本域数据,如果存在的话
})
const cpUpload = upload.fields([{ name: 'avatar', maxCount: 1 }, { name: 'gallery', maxCount: 8 }])
app.post('/cool-profile', cpUpload, function (req, res, next) {
  // req.files 是一个对象 (String -> Array) 键是文件名,值是文件数组
  // 例如:
  //  req.files['avatar'][0] -> File
  //  req.files['gallery'] -> Array
  // req.body 将具有文本域数据,如果存在的话
})

multer(options)

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

通常,一般的网页应用,只需要设置 dest 属性,像这样:

const upload = multer({ dest: 'uploads/' })

如果你想在上传时进行更多的控制,你可以使用 storage 选项替代 dest。Multer 具有 DiskStorage 和 MemoryStorage 两个存储引擎; 另外还可以从第三方获得更多可用的引擎。

到此,关于“node中multer的概念是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

node中multer的概念是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux中proc的概念是什么

今天小编给大家分享一下linux中proc的概念是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在linux中,proc
2023-06-29

linux中e2fsck的概念是什么

这篇文章主要介绍了linux中e2fsck的概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux中e2fsck的概念是什么文章都会有所收获,下面我们一起来看看吧。在linux中,e2fsck是一个
2023-07-04

linux中mount的概念是什么

今天小编给大家分享一下linux中mount的概念是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在linux中,mou
2023-06-30

php中strsplt的概念是什么

本文小编为大家详细介绍“php中strsplt的概念是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“php中strsplt的概念是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。在php中,strsplt
2023-06-30

linux中du的概念是什么

这篇文章主要介绍了linux中du的概念是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇linux中du的概念是什么文章都会有所收获,下面我们一起来看看吧。linux中,du全称“Disk Usage”,是
2023-06-30

Spring中AOP的概念是什么

这篇文章主要介绍“Spring中AOP的概念是什么”,在日常操作中,相信很多人在Spring中AOP的概念是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Spring中AOP的概念是什么”的疑惑有所帮助!
2023-07-02

MFC中monitor.exe的概念是什么

在MFC中,monitor.exe的概念通常指的是一个用于监视和管理应用程序的进程。该进程通常由一个主应用程序启动,用于跟踪和控制应用程序的运行状态,以便及时发现和处理错误、异常和其他问题。monitor.exe通常会监控应用程序的运行并
MFC中monitor.exe的概念是什么
2024-02-29

Delphi中VCL的概念是什么

VCL (Visual Component Library) 是 Delphi 中的一个重要概念,它是一个用于构建 Windows 应用程序界面的视觉组件库。VCL 包含了大量可重用的界面控件,如按钮、列表框、编辑框等,开发人员可以通过拖放
Delphi中VCL的概念是什么
2024-03-13

Hive中ACID的概念是什么

在Hive中,ACID是指一组属性,包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。这些属性确保了在Hive中进行的事务具有以下特性:原子性(Atomicit
Hive中ACID的概念是什么
2024-03-14

编程热搜

目录