在xmpp和ejabberd中使用头像

时间:2012-11-20 06:40:48

标签: xmpp chat ejabberd avatar

我正在创建一个文本聊天应用程序并使用Ejabberd服务器和strophe.js。

我使用mssql作为ejabberd的外部数据库。我在ejabberd的rosterusers表中调用了users表和freinds中的所有应用程序用户。

我想将应用程序的个人资料图片网址指定为ejabberd用户的头像图片。

在ejabberd数据库中插入头像URL的位置?我检查了vcard表但没有列为头像图片网址?

我们可以使用ejabberd数据库处理它,还是ejabberd在内部管理头像?

如果我们无法管理ejabberd中的头像,我们如何使用strophe.js即sepcify头像图像并接收其他花名册头像?

请帮忙

2 个答案:

答案 0 :(得分:3)

我相信您可以使用命令行中的ejabberctl命令将头像URL加载到用户的vcard中。

ejabberdctl set_vcard foo chat.myjabber.com PHOTO http://link_to_image.jpg
ejabberdctl set_vcard2 foo chat.myjabber.com PHOTO EXTVAL http://link_to_image.jpg

答案 1 :(得分:0)

从网址设置VCard图片:

我知道用户的个人资料图片,并在使用strophe连接到ejabberd服务器之后,我正在使用strophe节在vcard中设置个人资料图片。

以下是在vcard中设置图片网址的示例:

iq = $iq({ type: 'set', to: currentUserObj.jabberid+ "@" + CDomain }).c('vCard', { xmlns:'vcard-temp' }).c('PHOTO').c('EXTVAL', currentUserObj.profileImg);

connection.sendIQ(iq);

希望它能帮助某人:)