我正在使用一个asmack库开发一个聊天应用程序,我现在遇到的问题是,我可以使用以下代码从用户的vcard接收图像:
for (RosterEntry rosterEntry : roster.getEntries()) {
String senderusername = rosterEntry.getUser();
String senderrealname = rosterEntry.getName();
// String sendermessage = ?????
VCard vcard = new VCard();
try {
vcard.load(connection, ""+senderusername+"");
} catch (XMPPException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // load someone's VCard
byte[] senderimage = vcard.getAvatar();
}但我不能将它保存到磁盘(外部),谷歌搜索也没有真正的帮助。
你们能帮个忙吗?谢谢
发布于 2015-12-31 17:37:55
try {
vcard.load(connection, ""+senderusername+"@"+SERVICE_NAME);
byte[] senderimage = vcard.getAvatar();
} catch (Exception e) {
e.printStackTrace();}您似乎没有正确加载VCard。将+SERVICE_NAME名称替换为sendername+“@”sendername,如下所示。
在获得用户的图片字节数组后,您可以轻松地将其转换为String,然后进行Base64,最后以图片的形式保存在内存中。对于我来说,同样的方法工作得很好。希望这能起作用。
https://stackoverflow.com/questions/23931874
复制相似问题