express中间件multer实现文件上传

作者原文
multer中间件处理文件上传:
在此之前需要注意的事项是:前端页面需要设置form表单的enctype提交的编码格式。

x-www-form-urlencoded 代表普通提交,没有文件上传
multipart/form-data   既可以提交普通数据,也包含文件上传

步骤1、安装multer并引入:

var multer = require('multer');

步骤2、定义一个文件上传的存储目录:

var upload = multer({ dest: ' public/uploads/ '});

如果需要允许磁盘读入存储,因为磁盘存储引擎是你可以完全控制将文件存储到磁盘:

var storage = multer.diskStorage({ 

    destination: function(req, file, cb){

        cb(null, ' public/uploads/ ')

    },

    filename: function(req, file, cb){

        cb(null,file.filename + ' - ' + Date.now() + path.extname( file.originalname) )

    }

 });

var uploads = multer({ storage:storage });

步骤3、配置路由

router.post( '/admin/fileAdd', upload.single( ' 此处的参数是表单控件中file里面的name属性值 ' ),控制层代码块 );

步骤4、控制层代码:

function(req, res){

    //其中的req.file 中包含了上传的文本,默认情况下扩展名是没有的

    //实现入库

}

如以添加某电影封面的方法:

首先在app.js,引入外置路由:

在这里插入图片描述

注册路由:

在这里插入图片描述

外置路由:

在这里插入图片描述

数据库Model模块:

在这里插入图片描述

控制层模块:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值