node文件上传功能简易实现代码
网络编程 2021-07-04 18:32www.168986.cn编程入门
本篇文章主要介绍了node文件上传功能简易实现代码,长沙网络推广觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随长沙网络推广过来看看吧
找了不少文件上传的相关模块,选择了比较常用,并且是express推荐使用的 multer 来实现文件上传,附上 地址
1. 开始
开始第一步,自然就是安装模块,不多说
npm install multer --save
这里简单说一下,因为文件上传是用 post 方法提交数据,所以上传的单文件或者多文件会作为一个 body 体添加到请求对象中,我们可以通过 req.file 或者 req.files 查看上传后文件的相关信息。
以单文件上传为例,req.file 返回一个对象
{ "fieldname":"avatar", #前端上传文件input的name "originalname":"Wx.php", #本地文件名 "encoding":"7bit", #文件编码类型 "mimetype":"text/php", #文件类型 "destination":"uploads/", #上传根目录 "filename":"1497286037422Wx.php", #上传后文件名 "path":"uploads/1497286037422Wx.php", #文件路径 "size":18174 #文件大小 }
该对象的 key 值是固定的,velue 值根据配置生成,用于实现相关逻辑
2. 实现
实现分两部分,前端和后端
前端
前端就是普通的写法,form 表单提交
<form action="/test/upload" method="post" enctype="multipart/form-data"> <input type="file" name="avatar"> <input type="submit" name="提交"> </form>
切记,enctype="multipart/form-data" 这个属性一定要加上,否则后台接收不到文件。
后端
我们新建配置文件,upload.js
// upload.js var multer = require('multer'); # 引入模块 var storage = multer.diskStorage({ destination: function (req, file, cb) { cb(null, 'uploads/') }, filename: function (req, file, cb) { cb(null, Date.now()+file.originalname) } }) var upload = multer({ storage: storage }) module.exports = upload;
diskStorage
方法相当于创建一个磁盘存储引擎,配置文件上传路径,文件名等,可控性更高。
destination # 设置文件上传路径 filename # 重命名文件
然后新建路由接收文件,file.js
// file.js var express = require('express'); var router = express.Router(); // 引入配置文件 var upload = require('../config/upload'); router.post('/upload', upload.single('avatar'), function(req, res, next) { res.send(req.file); }); module.exports = router;
file.js 中 upload.single() 方法表示接受单文件,常用的有
upload.single(fname); // 接收单文件 upload.array(fname[, maxCount]) //接收多文件,maxCount表示接收最大数量
fname 是前端 <input type="file" name="fname"> 的 name 值
基本的上传文件方法就这些了,还有很多的配置参数之类的设置,要参考 GitHub 说明,地址在开头,需要者自行查阅
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:JS实现商品筛选功能
下一篇:详解Nodejs 部署到阿里云全过程
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程