2017-02-17 44 views
0

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

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
  • ommitting的ENCODING关键字共
  • 除去TYPE关键字使用具体为240像素由240像素图像
  • 添加在图像URL值文件而不是编码值

任何人有任何想法?

+0

离开这个了一小会儿,至少,但共识似乎是,它是不可能有这是一个在Windows联系人打开,至少为Windows 7 +一个电子名片中的照片显示。我可能会提交一份错误报告 – Don

回答

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。

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

+0

谢谢!将尽快回复并报告 – Don

+0

我尝试了所有建议,但不幸的是,这些建议并未奏效,当我在Windows联系人中打开电子名片时,我仍然看到空白图像占位符。我开始认为这可能是联系人中的错误或联系人不支持vCard文件中的图像(仅在.CONTACT文件中为XML) – Don