当前位置: 首页 > news >正文

Node编写更新用户头像接口

目录

定义路由和处理函数

验证表单数据

​编辑

实现更新用户头像的功能


定义路由和处理函数

向外共享定义的更新用户头像处理函数

// 更新用户头像的处理函数
exports.updateAvatar = (req, res) => {res.send(更新成功)
}

定义更新用户头像路由

// 更新用户头像的路由
router.post('/update/avatar', userinfo_handler.updateAvatar)

postman发起模拟请求,注意该接口也是需要token的

验证表单数据

定义头像验证规则

// dataUri() 指的是如下格式的字符串数据:
// data:image/png;base64,VE9PTUFOWVNFQ1JFVFM=
const avatar = joi.string().dataUri().required()

向外共享验证规则对象

// 验证规则对象 - 更新头像
exports.update_avatar_schema = {body: {avatar,},
}

在路由模块导入并解构该验证对象

const { update_avatar_schema } = require('../schema/user')

修改更新用户头像路由

router.post('/update/avatar', expressJoi(update_avatar_schema), userinfo_handler.updateAvatar)

实现更新用户头像的功能

定义sql语句

const sql = 'update ev_users set user_pic where id=?'

使用db.query()调用sql语句

db.query(sql,[req.body.avatar,req.auth.id],(err,results)=>{if(err) return res.send({status:1,message:err.message})if(results.affectedRow!==1) return res.send({status:1,message:'头像更新失败'})res.send({status:0,message:'更新成功'})
})

更新用户头像路由完整代码

// 导出更新头像
exports.updateAvatar=(req,res)=>{// 定义sql语句const sql = 'update ev_users set user_pic=? where id=?'db.query(sql,[req.body.avatar,req.auth.id],(err,results)=>{// 判断sql语句是否执行if(err) return res.send({status:1,message:'err.message'})// sql语句执行,判断影响行数是否为1if(results.affectedRows!==1) return res.send({status:1,message:'头像更换失败'})res.send({status:0,message:'头像更换成功'})})res.send('更新成功')
}

http://www.lryc.cn/news/208609.html

相关文章:

  • MySQL3:MySQL中一条更新SQL是如何执行的?
  • p5.js map映射
  • idea提交代码冲突后,代码意外消失解决办法
  • 爬虫批量下载科研论文(SciHub)
  • explain查询sql执行计划返回的字段的详细说明
  • 讯飞输入法13.0发布,推出行业首款生成式AI输入法
  • 35. 搜索插入位置、Leetcode的Python实现
  • 使用 DDPO 在 TRL 中微调 Stable Diffusion 模型
  • cocosCreator 之 crypto-es数据加密
  • Leetcode---368周赛
  • 矢量图形编辑软件Illustrator 2023 mac中文版软件特点(ai2023) v27.9
  • 一、Docker Compose——什么是 Docker Compose
  • Java提升技术,进阶为高级开发和架构师的路线
  • 记一次 .Net+SqlSugar 查询超时的问题排查过程
  • PHP危险函数
  • 【ARM Cortex-M 系列 4 番外篇 -- 常用 benchmark 介绍】
  • web安全-原发抗抵赖
  • 强化学习------PPO算法
  • node(三)express框架
  • linux find命令搜索日志内容
  • CentOS 编译安装TinyXml2
  • 竞赛选题 深度学习人体跌倒检测 -yolo 机器视觉 opencv python
  • 使用gson将复杂的树型结构转Json遇到的问题,写入文件为空
  • JavaScript异步编程:提升性能与用户体验
  • lossBN
  • 【微信小程序】数字化会议OA系统之投票模块(附源码)
  • clang-前端插件-给各种无花括号的“块”加花括号-基于llvm15--clang-plugin-add-brace
  • python爬虫-某政府网站加速乐(简单版)实例小记
  • stable diffusion简介和原理
  • 【机器学习】模型平移不变性/等变性归纳偏置Attention机制