大家好我知道我有一个使用Sails.JS的小型网络应用程序,而且如果用户没有一个gravatar帐户/个人资料,我会尝试设置默认图片。
这是我用来在控制器中散列电子邮件的代码:
var crypto = require('crypto');
req.session.email = 'user_email@gmail.com';
req.session.gravatar_hash = crypto.createHash('md5').update(req.session.email).digest('hex');
如你所见,我现在正在使用哈希。
所以在我看来,我有:
<div class="gravatar" style="background-image: url('http://www.gravatar.com/avatar/<%=req.session.gravatar_hash%>?s=50');"></div>
此代码非常适合显示gravatar(默认或自定义)图像,但如果我想进行验证,那么如果用户没有gravatar,我可以使用自定义图像? 有一种方法可以验证吗?
答案 0 :(得分:8)
您可以检查'http://gravatar.com/avatar/' + req.session.gravatar_hash + '.png?d=404'
的(HEAD)请求是否会导致404。
答案 1 :(得分:7)
Gravatar让您了解 - 如果用户没有Gravatar,则允许您指定要显示的默认图片网址。来自their docs:
如果您更喜欢使用自己的默认图片(也许是您的徽标, 搞笑的脸,无论如何),然后您可以通过提供URL轻松地这样做 到d =或default =参数的图像。网址应该是 URL编码以确保其正确传输,例如:
<img src="http://www.gravatar.com/avatar/00000000000000000000000000000000?d=http%3A%2F%2Fexample.com%2Fimages%2Favatar.jpg"/>
View the docs了解更多选项和信息。