2017-02-17 7 views
0

Следующее vCard 2.1, я добавляю фотографии в vCards. Я кодирую изображение, извлеченное из URL-адреса, затем добавляя закодированное значение в нужное место в vCard. Это, по-видимому, правильно отображает фотографию для всех программ, которые могут открывать vCards, кроме программы контактов Windows в Windows 7 (возможно, она также не работает для более новых версий Windows).Просмотр фотографий vCard в Windows Контакты

Насколько я могу судить, ниже фрагмент кода должен отображать VCARD фото при открытии в Windows Contacts:

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 Contacts, но не фото. Отобразится стандартный пустой заполнитель.

Я попытался

  • ENCODING=BASE64
  • ommitting в ENCODING ключевое слово вообще
  • удаления TYPE ключевого слова вообще
  • с использованием специально 240px на 240px изображение в
  • добавив значение URL изображения в формате файл вместо закодированного значения

У кого-нибудь есть идеи?

+0

оставляя это на некоторое время, по крайней мере, но консенсус, кажется, что это не возможно, чтобы иметь дисплей фото в визитную карточку, который был открыт в Windows Contacts, по крайней мере, для 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, вы должны установить параметр VALUE для URL.

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

+0

спасибо! попробует скоро и сообщит обратно – Don

+0

Я пробовал все ваши предложения, и, к сожалению, они не работали, я все еще просто вижу пустой заполнитель изображения, когда открываю vCard в Windows Contacts. Я начинаю думать, что это может быть ошибка в «Контакты» или «Контакты» не поддерживает изображения в файлах vCard (только в файлах .CONTACT, которые являются XML) – Don

Смежные вопросы