2017-02-17 1 views
0

Nach vCard 2.1 füge ich Fotos zu vCards hinzu. Ich kodiere das von einer URL abgerufene Bild und füge dann den codierten Wert an der richtigen Stelle in der vCard ein. Dies zeigt scheinbar das Foto korrekt für alle Programme an, die vCards mit Ausnahme des Windows Contacts-Programms unter Windows 7 öffnen können (wahrscheinlich auch nicht für neuere Windows-Versionen).Anzeigen von vCard-Fotos in Windows-Kontakten

Soweit ich das beurteilen kann, sollte die folgenden Schnipsel die V-Card Foto anzuzeigen, wenn in Windows-Kontakte geöffnet:

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 

Alle anderen Informationsanzeigen in Windows-Kontakte, aber nicht das Foto. Der Standardplatzhalter für leere Bilder wird angezeigt.

I haben versucht

  • ENCODING=BASE64
  • ommitting die ENCODING Schlüsselwort insgesamt
  • die TYPE Schlüsselwort Entfernen insgesamt
  • Hinzufügen der Bild URL-Wert spezifisch ein 240px durch 240px Bild unter Verwendung der in der Datei anstelle des codierten Werts

Wer hat irgendwelche Ideen?

+0

dies für ein wenig verlassen, während zumindest, aber der Konsens scheint zu sein, dass es nicht möglich ist, eine Fotoanzeige in einer vCard zu haben, die in Windows-Kontakten, zumindest für Windows 7+ geöffnet wird. Ich werde wahrscheinlich einen Fehlerbericht einreichen – Don

Antwort

1
  • Version 2.1 verwendet ENCODING=BASE64.
  • Legen Sie eine leere Zeile nach der Eigenschaft PHOTO. Outlook erfordert dies, damit Kontakte auch.
  • Setzen Sie alle Parameternamen/Werte in Großbuchstaben. Ich kenne ein Kompatibilitätsproblem mit Windows-Kontakten, wo es einen Parameterwert nicht erkennt, wenn es in Kleinbuchstaben ist.
  • Entfernen Sie das Leerzeichen vor den base64-Daten.
  • Versuchen Sie, den Parameter TYPE auf JPEG zu setzen.
  • Sie haben die Bilddaten richtig codiert, richtig? Versuchen Sie es mit einem Online-Decoder.

Korrigierte Eigenschaft:

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

die Spezifikationen nach, wenn Sie eine URL haben, sollten Sie mit dem VALUE-Parameter URL gesetzt.

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

+0

danke! werde bald versuchen und melde mich zurück – Don

+0

Ich habe alle deine Vorschläge ausprobiert und sie haben leider nicht funktioniert, ich sehe immer noch den Platzhalter für leere Bilder, wenn ich die vCard in Windows Contacts öffne. Ich fange an zu glauben, dass dies ein Fehler in den Kontakten ist oder Kontakte unterstützt keine Bilder in vCard-Dateien (nur in .CONTACT-Dateien, die XML sind) – Don