本文摘自PHP中文网,作者青灯夜游,侵删。
本篇文章给大家介绍一下node.js使用multer中间件解决post文件上传问题的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。相关推荐:《nodejs 教程》
body-parser中间件,其实“极不完美” ―― 它只能处理“单纯的数据”。
众所周知,post常用于两件事:
数据提交(post表单提交)
文件上传
但“大名鼎鼎”的body-parser只能做到第一点。
难受…
以前写过的图片文件上传文章中用到了formidable模块,其核心在于:
1 |
|
其后的form.uploadDir
、field/end的监听 … 都是基于此。
好了这里我们要说的是缺点:和body-parser一样,formidable插件只能用来处理图片格式,也是一大遗憾了。
于是,笔者找到了 multer中间件 ,希望它能“拯救者支离破碎的山河” (呵呵)
multer中间件的应用之一:文件上传
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
这里,用req.files顶替了req.body:因为body中只能存放(文字)数锯――这里如果用body-parser的话,看到的只是控制台上显示的文件名。
代码中objMulter.any()
作用是“ 获取所有数据 ”;
与any()
相对的还有一个single()
,它里面要指定一个参数――前端<input>
里的name名!如本例中还可以这样写:
相关阅读 >>
更多相关阅读请进入《node.js》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者