Autor Thema: base64 -> vcard klappt nicht  (Gelesen 2714 mal)

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
base64 -> vcard klappt nicht
« am: 16.12.14 - 11:38:34 »
Ich generiere per LS VCards im Format 2.1 - das funktioniert auch so weit.
Um das Benutzerbild im JPEG-Format in base64 für die vcf-Datei zu kodieren, benutze ich die Klasse CBase64 (-> http://wwwendt.de/tech/base64/ ), in der Form
Code
...
result=result+linebreak+"EMAIL;INTERNET:"+doc.mail(0)
...
'user photo
Dim b64 As New CBase64()		
result=result+linebreak+"PHOTO;JPEG;ENCODING=BASE64:"+b64.encodeFile("d:\me.jpg")
result=result+linebreak+"END:VCARD"
...
Es wird auch ein String, der wie base64 kodierte Daten aussieht generiert - das Bild aber in der VCard nicht angezeigt.
Hat jemand eine Idee, wo mein Fehler liegen könnte?
« Letzte Änderung: 16.12.14 - 11:41:30 von jo@chim »
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: base64 -> vcard klappt nicht
« Antwort #1 am: 16.12.14 - 11:41:59 »
Ja, da bin ich auch schon drüber gestolpert. Dein Base64 String muss nach einem Zeilenumbruch mit einem Leerzeichen beginnen, sonst wird das Bild nicht angezeigt.

So muss dass dann im text- Editor aussehen:
Zitat
PHOTO;ENCODING=BASE64;TYPE=JPEG:
 /9j/4AAQSkZJRgABAQEASABIAAD/4RI6RXhpZgAATU0AKgAAAAgADgEAAAMAAAABCEAAAAEBAAMA
 AAABCwAAAAECAAMAAAAEAAAAtgEDAAMAAAABAAEAAAEGAAMAAAABAAUAAAESAAMAAAABAAEAAAEV
 AAMAAAABAAQAAAEaAAUAAAABAAAAvgEbAAUAAAABAAAAxgEcAAMAAAABAAEAAAEoAAMAAAABAAIA

und NICHT so:

Zitat
PHOTO;ENCODING=BASE64;TYPE=JPEG:
/9j/4AAQSkZJRgABAQEASABIAAD/4RI6RXhpZgAATU0AKgAAAAgADgEAAAMAAAABCEAAAAEBAAMA
AAABCwAAAAECAAMAAAAEAAAAtgEDAAMAAAABAAEAAAEGAAMAAAABAAUAAAESAAMAAAABAAEAAAEV
AAMAAAABAAQAAAEaAAUAAAABAAAAvgEbAAUAAAABAAAAxgEcAAMAAAABAAEAAAEoAAMAAAABAAIA


Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline jo@chim

  • Aktives Mitglied
  • ***
  • Beiträge: 246
  • Geschlecht: Männlich
Re: base64 -> vcard klappt nicht
« Antwort #2 am: 16.12.14 - 14:35:33 »
Danke!!
Code
result=result+linebreak+"PHOTO;JPEG;ENCODING=BASE64:"+Chr$(10)+" "+b64.encodeFile("d:\me.jpg")
Das wars...
Gruss,
Achim
-------------------
IBM Certified Advanced Application Developer Lotus Notes and Domino 7

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: base64 -> vcard klappt nicht
« Antwort #3 am: 16.12.14 - 14:39:21 »
Schön zu hören, aber: ACHTUNG: Manchmal wird der encodierte Text umgebrochen (wie in meinem Beispiel), dann musst Du jeden Zeilenumbruch durch einen Zeilenumbrich + Leerzeichen ersetzen innerhalb des Base64- encodierten Textes....
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz