nodejs--开发自己的项目——5.3——个人中心模块——更新用户头像——设置的url:/my/update/avatar——post请求

这里输入的头像的格式base64

定义路由和处理函数

 路由模块:

//挂载具体路由4
//更新用户头像的路由
Router.post('/update/avatar',userInfo_hander.updateAvatar )
//导入express模块
const express=require('express')

//创建路由对象
const Router=express.Router()
//导入处理函数的模块
const userInfo_hander=require('../router_handler/userinfo')
//挂载具体路由1
//监听客户端获取用户基本信息
Router.get('/userinfo',userInfo_hander.getUserInfo)

//1、导入验证表单数据的中间件
var expressJoi = require('@escook/express-joi')
//2、导入需要验证的规则对象
const {update_userinfo_schema}=require('../schema/user')//存放是是规则_body里面的对象
//挂载具体路由2
//更新用户的基本信息
Router.post('/userinfo',expressJoi(update_userinfo_schema), userInfo_hander.updateUserInfo)
//挂载具体路由3
//更新密码的路由
//2、导入需要验证的规则对象
const {update_password_schema}=require('../schema/user')//存放是是规则_body里面的对象
Router.post('/updatepwd', expressJoi(update_password_schema),userInfo_hander.updatePassword)
//挂载具体路由4
//更新用户头像的路由
Router.post('/update/avatar',userInfo_hander.updateAvatar )
//向外导出路由
module.exports=Router//之前={对象 对象里面是属性 可以做一个省略}

 路由处理函数模块

//定义用户更新头像的处理函数
exports.updateAvatar=(req,res)=>{//同样也是有权限的接口
 
   res.send('ok')
}

 

 

验证表单数据(头像的验证规则-base64格式的头像数据-joi)

joi方法 dataUri可以验证头像数据是否是base64格式的字符串——

//验证规则对象——重置头像
//定义头像的验证规则-必须是base64
const avatar = joi.string().dataUri().required()
module.exports.update_avatar_schema ={//向外共享
    body:{//校验req.body中的数据
        avatar,
        
    }

}
//挂载具体路由4
//更新用户头像的路由
//2、导入需要验证的规则对象
const {update_avatar_schema}=require('../schema/user')//存放是是规则_body里面的对象
Router.post('/update/avatar',expressJoi(update_avatar_schema),userInfo_hander.updateAvatar )

 使用base64输入base64格式:data:image/png;base64,VE9PTUFOWVNFQ1JFVFM=

实现更新用户头像的功能(使用SQL语句)

 

//定义用户更新头像的处理函数
exports.updateAvatar=(req,res)=>{//同样也是有权限的接口
    const sqlStr=`update ev_users set user_pic=? where id = ?`
    db.query(sqlStr,[req.body.avatar,req.auth.id],(err,results)=>{
         //执行SQL语句失败
         if(err) return  res.cc(err)
         //执行SQL语句成功,但判断影响的行数是否为1
         if(results.affectedRows!==1) return  res.cc('更换头像成功')
         //更换头像成功
         res.cc('更换头像成功',0)
    })
   
}

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值