express项目搭建
express app -e
cd app && npm start
localhost:3000
// 修改ejs模板引擎
1.修改后缀名设置 app.js
2.修改view下的文件后缀
// 修改package.json文件中
node=>supervisor:当修改了express项目中的文件的时候,服务器自动重启
// npm install mysql --save
增删改查
// 用户列表页
router.get('/', function(req,res){
查询数据的总条数,计算总页码,当前页,每页条数,上一页,下一页等
查询所有的数据条数,并render到模板页面进行forEach遍历
})
// 用户添加页
router.get('/insert',function(req,res){
添加页面
})
// 执行添加数据
router.post('/insert',function(req,res){
// 加密密码
// 获取注册时间
// 链接数据库,将数据添加到数据库中
})
// 修改页面
router.get('/update/:id',function(req,res){
根据id获取到对应的额用户信息,并render到模板页面进行默认值的展示(注意隐藏域id)
})
// 执行修改操作
router.post('/update',function(req,res){
// 接收用户的数据
// 链接MySQL数据库,将数据进行修改操作
})
// 删除操作
router.get('/delete/:id',function(req,res){
根据id来删除数据
})
** 用户需要一个添加头像的页面
router.get('/image',function(req,res){
res.render('users/image');
})
图片上传
注意:image.html的表单中
1.表单必须添加 enctype=“multipart/form-data”
2.给input type="file"添加name的名字-photo
用户点击提交图片,图片上传到服务器,更新数据库用户的头像信息:router.post('/image')
router.post('/image',function(req,res){
})
注意:
1. 借助于第三方模块multer:npm install multer --save
2. 使用
var multer = require('multer');
var upload = multer({
dest:'public/upload' // 设置
// 将上传的图片放在upload里面,方便后期的头像管理
})
router.post('/image',upload.single('photo'),function(req,res){})
原理:
图片上传到服务器:实质是图片经过互联网传递到服务器的一个文件
(一般情况下是第三方模块multer指定的位置),
需要对文件进行安全检查(大小,类型,是否是可信任文件),
获取到文件的名字,将名字保存到数据库
//index.html
<a href="/users/image/<%=value.id%>">添加头像</a>
//路由
router.get('/image/:id',function(req,res){
res.render('users/image',{id:req.params.id});
})
//image.html
<form action="/users/image" method="post" enctype="multipart/form-data">
<