Express: 用户模块练习(md5加密,session,文件上传)

本文介绍了使用Express构建项目时,如何实现用户模块的增删改查操作,以及如何进行图片上传。重点讲解了MD5加密方法、Session的设置与销毁,并提供了相关API的使用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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">
	<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jacky张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值