【Nodejs】Expressのファイルアップロード(FileUpload)のMulterについて
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:56
https://github.com/expressjs/multer/blob/master/doc/README-zh-cn.md
multipart/form-data
multipart/form-data
其它语言
安装
使用
bodyfilefilesrequestbodyfilefiles
基本使用方法:
.none()
API
文件信息
每个文件具有下面的信息:
fieldnameoriginalnameencodingmimetypesizedestinationDiskStoragefilenamedestinationDiskStoragepathDiskStoragebufferBufferMemoryStorage
multer(opts)
dest
为了避免命名冲突,Multer 会修改上传的文件名。这个重命名功能可以根据您的需要定制。
以下是可以传递给 Multer 的选项。
deststoragefileFilterlimitspreservePath
dest
storagedestDiskStorageMemoryStorage
.single(fieldname)
fieldnamereq.file
.array(fieldname[, maxCount])
fieldnamemaxCountreq.files
.fields(fields)
fieldsreq.files
fieldsnamemaxCount
Example:
.none()
upload.fields([])
.any()
req.files
警告: 确保你总是处理了用户的文件上传。 永远不要将 multer 作为全局中间件使用,因为恶意用户可以上传文件到一个你没有预料到的路由,应该只在你需要处理上传文件的路由上使用。
storage
DiskStorage
磁盘存储引擎可以让你控制文件的存储。
destinationfilename
destinationstring'/tmp/uploads'destination
destination
filenamefilename
注意: Multer 不会为你添加任何扩展名,你的程序应该返回一个完整的文件名。
reqfile
req.body
MemoryStorage
Buffer
buffer
警告: 当你使用内存存储,上传非常大的文件,或者非常多的小文件,会导致你的应用程序内存溢出。
limits
一个对象,指定一些数据大小的限制。Multer 通过这个对象使用 busboy,详细的特性可以在 busboy's page 找到。
可以使用下面这些:
fieldNameSizefieldSizefieldsfileSizefilespartsheaderPairs
设置 limits 可以帮助保护你的站点抵御拒绝服务 (DoS) 攻击。
fileFilter
设置一个函数来控制什么文件可以上传以及什么文件应该跳过,这个函数应该看起来像这样:
错误处理机制
当遇到一个错误,multer 将会把错误发送给 express。你可以使用一个比较好的错误展示页 (express标准方式)。
multerMulterErrorerr instanceof multer.MulterError
相关文章
-
【noip2016提高组day2T3】【愤怒的小鸟】状压dp转移时的集合包含
【noip2016提高组day2T3】【愤怒的小鸟】状压dp转移时的集合包含
- 互联网
- 2026年04月04日
-
【ogg三】日常运维篇:清理归档日志,ogg进程注册服务,定期备份数据库
【ogg三】日常运维篇:清理归档日志,ogg进程注册服务,定期备份数据库
- 互联网
- 2026年04月04日
-
【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
- 互联网
- 2026年04月04日
-
【NLP】前戏:一起走进条件随机场(一)
【NLP】前戏:一起走进条件随机场(一)
- 互联网
- 2026年04月04日
-
【NLP】Python NLTK获取文本语料和词汇资源
【NLP】Python NLTK获取文本语料和词汇资源
- 互联网
- 2026年04月04日
-
【MySQL】排序原理与案例分析
【MySQL】排序原理与案例分析
- 互联网
- 2026年04月04日






