enesser / vCards-js

Create vCards to import contacts into Outlook, iOS, Mac OS, and Android devices from your website or application.
MIT License
419 stars 155 forks source link

Contact not imported on Samsung devices when Base64 embedded image present #58

Open pepperit-bxl opened 3 years ago

pepperit-bxl commented 3 years ago

Hi, When you embed a base64 string image using vCard.photo.embedFromString('iVBORw0KGgoAAAANSUhEUgAAA2...', 'image/png'); the card cannot be imported on Samsung devices. I tried on different Samsung devices. It shows "Unable to load data".

The card imports correclty on iOS devices and on Windows computers.

When I modify the VCF file manually by adding an additional \r\n at the end of the base64 string, it can be imported correctly on Samsung devices and others.

Could you please have a look?

Best regards Julien

NOT WORKING ON SAMSUNG DEVICES

BEGIN:VCARD VERSION:3.0 FN;CHARSET=UTF-8:TestJulien TestBarbé N;CHARSET=UTF-8:TestBarbé;TestJulien;;; EMAIL;CHARSET=UTF-8;type=WORK,INTERNET:testjulien@pepperit.be PHOTO;ENCODING=b;TYPE=image/jpeg:/9j/4AAQSkZJRgABAgAAZABkAAD/7AA [...] 9xHwt2bpyq6k+nuI0rh6aIpJ9JE13UVM6B1elBof//Z TEL;TYPE=CELL:+3223473912 ADR;CHARSET=UTF-8;TYPE=WORK:;;Rue Neuve 1;;;; ORG;CHARSET=UTF-8:TestPepper IT REV:2021-05-02T21:03:37.622Z END:VCARD

WORKING ON ALL DEVICES (mind the \r\n after the base 64 string)

BEGIN:VCARD VERSION:3.0 FN;CHARSET=UTF-8:TestJulien TestBarbé N;CHARSET=UTF-8:TestBarbé;TestJulien;;; EMAIL;CHARSET=UTF-8;type=WORK,INTERNET:testjulien@pepperit.be PHOTO;ENCODING=b;TYPE=image/jpeg:/9j/4AAQSkZJRgABAgAAZABkAAD/7AA [...] 9xHwt2bpyq6k+nuI0rh6aIpJ9JE13UVM6B1elBof//Z

TEL;TYPE=CELL:+3223473912 ADR;CHARSET=UTF-8;TYPE=WORK:;;Rue Neuve 1;;;; ORG;CHARSET=UTF-8:TestPepper IT REV:2021-05-02T21:03:37.622Z END:VCARD