在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
关键字有人有什么想法吗?
答案 0 :(得分:1)
ENCODING=BASE64
。更正属性:
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