本节主要内容:头像处理
前提:在https://en.gravatar.com/注册账号,然后上传头像,裁剪选择pg格式,因为后面用到的是pg格式。
1、使用第三方,gravatar
-
安装
npm i gravatar
-
引入
const grvatar = require('gravatar');
在routes/api/users.js里面 -
修改register接口
// $route POST api/users/register
// @desc 返回的请求json数据
// @access public
router.post("/register", (req, res) => {
// console.log(req.body);
// 查询数据库中是否拥有邮箱
User.findOne({
email: req.body.email
})
.then((user) => {
if (user) {
return res.status(400).json({
email: "邮箱已被占用"
})
} else {
const avatar = grvatar.url(req.body.email,{s:'200',r:'pg',d:'mm'});
const newUser = new User({
name: req.body.name,
email: req.body.email,
password: req.body.password,
avatar
})
//密码加密 需npm install bcrypt
bcrypt.genSalt(10, function (err, salt) {
bcrypt.hash(newUser.password, salt, function (err, hash) {
//store hash in your password DB.
if (err) {
throw err;
}
newUser.password = hash;
newUser.save()
.then(user => res.json(user))
.catch(err => console.log(err));
});
});
}
})
})
- postman中测试
使用gravatar中的注册邮箱,点击链接地址将会得到自己在gravatar中上传的头像。


网友评论