2017-02-17 6 views
0

vCard 2.1に続いて、vCardに写真を追加します。私は、URLからフェッチされたイメージをエンコードして、エンコードされた値をvCardの適切な場所に追加します。これは、Windows 7のWindows連絡先プログラム以外のvCardを開くことができるすべてのプログラム(おそらく新しいバージョンの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アドレス帳ではなく、写真内の他のすべての情報が表示されます。Windowsアドレス帳で開いたときに

私の知る限り、以下のスニペットは、vCardの写真が表示されます。標準の空白イメージプレースホルダが表示されます。

Iは完全

  • は、具体的に、画像のURL値を加算する240ピクセル240ピクセルによって画像
  • を使用して完全
  • TYPEキーワードを除去ENCODINGキーワードをommitting

    • ENCODING=BASE64
    • 試みましたファイルの代わりに、符号化された値

    誰もが考えている?

  • +0

    少なくともしばらくの間、これを残したが、合意には、少なくともWindowsの7+のために、Windowsアドレス帳で開いていたvCardでの写真の表示を持つことが可能ではないことのようです。私はおそらくバグ報告 – Don

    答えて

    1
    • バージョン2.1はENCODING=BASE64を使用します。
    • PHOTOプロパティの後に空白行を挿入します。 Outlookではこれが必要なので、連絡先も可能です。
    • すべてのパラメータ名/値を大文字で入力します。小文字の場合、パラメータ値を認識しないWindowsの連絡先との互換性の問題が1つわかります。
    • base64データの前にスペース文字を削除します。
    • TYPEパラメータをJPEGに設定してみてください。
    • 正しく画像データをエンコードしましたか?オンラインデコーダを使って確認してください。

    修正しプロパティ:

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

    スペックによるとあなたはURLを持っている場合、あなたはURLにVALUEパラメータを設定する必要があります。

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

    +0

    ありがとう!すぐに試してみる – Don

    +0

    私はあなたの提案をすべて試してみましたが、残念ながらそれらは機能しませんでした。WindowsコンタクトでvCardを開くとまだ空白のイメージプレースホルダが表示されます。私はこれが連絡先のバグかもしれないと考え始めています。連絡先はvCardファイルの画像をサポートしていません(XMLの.CONTACTファイルのみ) – Don

    関連する問題