在Windows联系人

时间:2017-02-17 18:51:22

标签: windows windows-7 contacts vcard

在vCard 2.1之后,我正在向vCard添加照片。我正在编码从URL获取的图像,然后将编码值添加到vCard中的适当位置。这似乎可以正确显示所有可以打开vCard的程序的照片,除了Windows 7上的Windows联系人程序(可能不适用于较新版本的Windows)。

据我所知,以下代码段在Windows联系人中打开时应显示vcard照片:

BEGIN:VCARD
VERSION:2.1
N;CHARSET=ISO-8859-1:Lastname;Firstname;
FN;CHARSET=ISO-8859-1:Firstname Lastname
ORG;CHARSET=ISO-8859-1: Organization LLP
PHOTO;ENCODING=b;TYPE=jpg: <base64 encoded image as one line>
TITLE;CHARSET=ISO-8859-1:Position
TEL;WORK;VOICE:+1 999 999 9999
END:VCARD

所有其他信息显示在Windows通讯录中,但不显示在照片中。标准空白图像占位符显示。

我试过了

  • ENCODING=BASE64
  • 完全省略ENCODING关键字
  • 完全删除TYPE关键字
  • 具体使用240px×240px图像
  • 在文件中添加图片网址值而不是编码值

有人有什么想法吗?

2 个答案:

答案 0 :(得分:1)

  • 版本2.1使用ENCODING=BASE64
  • 在PHOTO属性后面加一个空行。 Outlook需要这样,所以联系人也可以。
  • 将所有参数名称/值设为大写。我知道Windows联系人存在一个兼容性问题,如果它是小写的话,它不会识别参数值。
  • 删除base64数据前的空格字符。
  • 尝试将TYPE参数设置为JPEG。
  • 您已正确编码图像数据,对吗?尝试使用在线解码器来确保。

更正属性:

PHOTO;ENCODING=BASE64;TYPE=JPEG:<base64 encoded image as one line>
[empty line]

根据规范,如果您有URL,则应将VALUE参数设置为URL。

PHOTO;TYPE=JPEG;VALUE=URL:<url goes here>

答案 1 :(得分:1)

我在研究这个问题时遇到了你的帖子,我能够成功找到实现这一目标的正确方法。

Bellow 是一个包含 96x96 嵌入 red.gif 图像作为照片的 v-card 的自包含示例。

https://tools.ietf.org/html/rfc2426#section-3.1.4

请务必注意 VERSION 行和 PHOTO 行。这目前在 Outlook365 中工作。

BEGIN:VCARD
VERSION:3.0
N:Gump;Forrest;;Mr.;
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;ENCODING=BASE64;TYPE=GIF:R0lGODdhYABgAPAAALccHMlFJiH5BAEAAAEALAAAAABgAGAAAAJuhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLiIUgAAOw==
TEL;TYPE=work,voice;VALUE=uri:tel:+1-111-555-1212
TEL;TYPE=home,voice;VALUE=uri:tel:+1-404-555-1212
ADR;TYPE=WORK;PREF=1;LABEL="100 Waters Edge\nBaytown\, LA 30314\nUnited States of America":;;100 Waters Edge;Baytown;LA;30314;United States of America
ADR;TYPE=HOME;LABEL="42 Plantation St.\nBaytown\, LA 30314\nUnited States of America":;;42 Plantation St.;Baytown;LA;30314;United States of America
EMAIL:forrestgump@example.com
REV:20080424T195243Z
x-qq:21588891
END:VCARD

image1